静态方法先于对象存在,非静态的成员是在对象建立后才存在的,所以他不能调用非静态成员,- public class L01_Static {
- public static void main(String[] args)
- {
- A.sop();
- }
- }
- class A
- {
- int a = 4; //非静态成员
- static void sop() //静态方法
- {
- System.out.println(new A().a+",,,"+new B().b);//你这个是在建立静态方法时就建立了对象,所以能调用非静态的成员,如果你将new B(),new A()放在静态方法的外面就不对了,
- }
- }
- class B
- {
- int b = 5;
- //非静态成员
- }
复制代码 ,,,这个是我个人的理解 |