java内部类和static

我们定义一个外部类,里面包含一个内部类,为了将该内部类区分其他类,我们下边把这个内部类叫为:该外部类。

内部类可以访问该外部类的私有成员,但是不能访问该外部类的静态成员和变量方法。

该外部类要想访问内部类成员,需要new一个内部类,通过该对象来访问。

要是内部类是静态内部类,就把该内部类当成了类成员了,而不是简单的对象成员。

访问内部类:

private修饰的内部类只能在该外部类内部使用。

省略的访问修饰符,内部类只能被与该外部类同一个包下其他类访问。

protecte,同一个包和子类

public,任何地方可以访问该内部类

如果是非静态内部类,访问的时候,是需要创建该外部类的对象,然后去引出这个非静态内部类

如果是静态内部类,访问的时候,是不需要创建该外部类的对象,去引出这个非静态内部类。直接利用该外部类去引出,不需要对象。

局部内部类:

如果在一个方法中定义一个类,就是局部内部类,局部内部类不能在外部类以外的地方使用,那么局部内部类也不能使用访问控制符和static修饰符修饰了

为什么外部类不能用static修饰:

因为我们使用了static修饰就吧该成员变为了类成员了,但是外部类的外边就是包了。所以不使用static修饰

猜你喜欢

转载自blog.csdn.net/Handsome2013/article/details/81429814