标签:
Java如何在静态方法中访问类的实例成员(没附加static关键字的字段或方法)??
static修饰的在加载时是先于非静态的加载,也就是如果在static中如果调用了非静态的方法或变量会报错,因为此时非静态的方法和变量还不存在(可以这样理解) 。
在静态方法中访问类的实例变量需首先进行类的实例化,除了加static修饰,还可以先new创建一个对象,通过对象去调用成员方法和变量,如new A().test()。
例如:
package 静态方法访问实例变量; public class Test{ int a = 2;//实例变量 static int b = 3;//类的静态变量 public static void variable()//静态方法 { System.out.println("实例变量a = " + new Test().a); //在静态方法中访问类的实例变量需首先进行类的实例化 System.out.println("静态变量b = " + b); //在静态方法中可直接访问类的静态变量 } public static void main(String[] args) { Test.variable(); Test test = new Test(); System.out.println("结果是 :实例变量 = " + test.a);//访问实例成员 } }
结果是:
Java如何在静态方法中访问类的实例成员(没附加static关键字的字段或方法)
标签:
原文地址:http://www.cnblogs.com/389629916muyachao/p/4887803.html