您的位置:首页 > 其它

NEW关键字的三种用法

2011-12-26 19:03 288 查看
this关键字:
1、在类的方法中使用this关键字代表使用该方法的对象的引用
2、当必须指出当前使用方法的对象是谁时要使用this
3、使用this处理方法中成员变量和参数重名的情况(如:this.a=a)
this可以看作是一个变量,它的值是当前对象的引用

super关键字:相当于父类的引用,跟this有点相似。
举例说明:

class FatherClass{
public int value;
public void f(){
value=10;
System.out.println("FatherClass.value="+value);
}
}
class ChildrenClass extends FatherClass{
public int value;  //此时该类有两个value值,一个是父类的,一个是自己的
public void f(){     //重写父类的方法
super.f();        //先调用父类原来的方法,再在后面添加父类方法中没有的内容
value=20;
System.out.println("ChildrenClass.value="+value); //子类中的value值20  
System.out.println(super.value); //父类中的value值10  
}
}
public class TestInherit{
public static void main(String[] args){
ChildrenClass cc=new ChildrenClass();
cc.f();
}
}
输出结果:
FatherClass.value=10
ChildrenClass.value=20
10


static 关键字:
静态成员变量存放在数据区(data seg)

1、用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static成员变量只有一份
2、在static方法中不可访问非static的成员
3、可以通过对象引用(跟非静态一样)或类名(不需要实例化)访问静态成员

为什么在静态方法中,不能直接访问非静态成员(包括方法和变量) :
因为,非静态的变量是依赖于对象存在的,对象必须实例化之后,它的变量才会在内存中存在。静态方法不知道非静态成员的内存地址,所以无法访问。只有实例化对象后才能访问非静态成员。

静态的使用注意事项:

1.静态方法只能访问静态成员(包括成员变量和成员方法),非静态方法可以访问静态也可以访问非静态

2.静态方法中不可以定义this,super关键字;因为静态优先于对象存在,所以静态方法中不可以出现this,super关键字

3.主函数是静态的

Final关键字:
1、final修饰的变量值不能被改变;
2、final修饰的方法不能被重写;
3、final修饰的类不能被继承。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: