静态类里面普通成员怎么调用

来源:7-7 Java 中的静态内部类

willkill

2015-07-09 16:19

静态类,静态成员,才可以        Class.name      这样,那么静态类,普通成员怎么调用,求解

写回答 关注

1回答

  • Fallbuster
    2015-07-09 16:42:30
    已采纳
    public class Solve {
    	static class A{
    		int b = 2;
    		static int c =3;
    	}
    	public static void main(String[] args) {
    		int x = A.c;
    		System.out.println(x);//3
    		A a= new A();
    		System.out.println(a.b);//2
    	}
    
    }

    我们知道静态类中的静态成员,可以直接以Class.name去直接调用,为什么呢?因为static修饰的类和成员 或者是方法 在编译时已经存在于内存中,而你看那个int b=2;并没有被static修饰,那么说明编译时它压根就不存在,是一个不存在的成员。那怎么让它出现在内存中呢?我们得实例化一个Class A,这样b就存在于这个实例化的class之中,就可以class.name来调用了

    Fallbu... 回复willki...

    不能,因为一上来就A.b或者A.this.b会出错,虽然定义了,但是调用的时候A中还没有b这个成员。

    2015-07-09 17:34:29

    共 3 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530553 学习 · 6091 问题

查看课程

相似问题