静态内部类,成员内部类,外部类之间的一些知识总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/little_newBee/article/details/50889825

静态内部类又可以说是静态嵌套的,它知识藏在外部类里面的外部类。

成员内部类就相当于一个成员函数的定位。


它们之间又有什么访问权限呢?

成员内部类和外部类:因为成员内部类就相当于一个成员函数一样,所以成员内部类可以直接访问外部类的所有成员。

;外部类要访问成员内部类就需要实例化它。这很容易理解。

               需要注意的是:成员内部类不能访问外部类的临时变量。这是为什么呢?因为,成员变量在执行完相应语句就结束了生命,而内部类被构造出来后,再被访 问,很可能这个临时变量已经结束生命了。因此不允许这样访问。

静态内部类和外部类:刚才说了,静态内部类就是个寄居外部类,就好像卧底一样,它带着静态关键字,在类加载时它就跟着加载了。看着就像                                                                   外部类的静态成员一样的效果。因此,它的内部不能直接使用外部类的非静态成员。它是卧底嘛,所以它还可以访问外部类的私有成员。


外部访问成员内部类:成员内部类是成员,成员必须在对象基础上才行。因此,要访问成员内部类必须要有外部类引用,这也是为什么成员内部类中不能有静态成员的原因。因为 没有外部类的引用,根本没法找到它并加载。


外部访问静态内部类:直接用 new 外部类.内部类(),就可以。

阅读更多
换一批

没有更多推荐了,返回首页