- 在静态方法内部不能访问实例成员,但在实例方法内部可以访问静态成员,如果要访问需要创建一个对象
[qzdypre]
public class StaticMember {
private int x;
private static int y; //类(静态)字段
private void instanceMethod(){
x=1;
//以下两行表示可以访问静态成员
y=2;
classMethod();
}
//下面是类方法
private static void classMethod(){
StaticMember m=new StaticMember();
m.x=1;
m.instanceMethod();
}
}
[/qzdypre]
2.静态成员可以在静态方法上调用,也可以在实例方法上调用(但不推荐;原因:不能体现成员是属于类的)
[qzdypre]
public class StaticMember {
public int x;
public static int y; //类(静态)字段
public void instanceMethod(){
this.y=10;
this.classMethod();
}
public static void classMethod(){
}
}
[/qzdypre]
3.静态初始化块(对静态字段进行初始化,是最早开始执行的)
[qzdypre]
static {
}
[/qzdypre]
4.final可以引用在局部变量/实例字段/类字段/方法/类上(参考《Java程序设计》书本p242)
5.类的实例字段通常称为类的属性,字段的值表现出对象的状态
6.区别两个字段的方法通过哈希值(hash),哈希值与字段值和内存地址有关
7.没有实例成员的类称为工具类(参考《Java程序设计》书p244),如果一个类只需要完成特定功能不需要存储对象的状态,就可以把它设置为工具类。(util.*)
文章评论