public class Text
{
{
field=200;
}
public int field;
public static void main(String[] args)
{
Text obj=new Text();
System.out.println(obj.field);
obj=new Text( );
System.out.println(obj.field);
}
}
验证结果:
200
200
{
{
field=200;
}
public int field=100;
public static void main(String[] args)
{
Text obj=new Text();
System.out.println(obj.field);
}
}
验证结果:
100
100
public class Text
{
{
field=200;
}
public Text(int value)
{
this.field=value;
}
public int field=100;
public static void main(String[] args)
{
Text obj=new Text(500);
System.out.println(obj.field);
}
}
验证结果:
500
通过对比三个程序可得,构造方法初始化的优先级最高;其次是在类内部直接对类内部成员进行初始化的优先级高,最后则是无方法名的初始化优先级最低。
public class Text
{
public int field=100;
static void getfield( )
{
System.out.print(new Text( ).field);
}
public static void main(String[] args)
{
Text obj=new Text( );
System.out.println(obj.field);
obj.getfield();
}
}
在静态方法中访问类的实例变量时,得先进行类的实例化。因为静态方法先于对象实例化。
原文:https://www.cnblogs.com/liuyang-cn/p/13779767.html