温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java基础(10) - 内部类

发布时间:2020-07-09 15:39:29 来源:网络 阅读:147 作者:lm8751 栏目:编程语言

存在意义
1、内部类可以很好的实现隐藏
一般的非内部类,是不允许有private与protected权限的,但内部类可以

2、内部类拥有外部类所有元素的访问权限 ,private修饰也能访问。

3、可实现多重继承 ,让多个内部类分别继承多个其他类,使外部类可以同时获取多个其他类的属性。

4、可以避免修改接口而实现同一个类中两种同名方法的调用。(外部类继承,让内部类实现接口)
参考:https://www.jianshu.com/p/f0fdea957792

静态、非静态内部类的区别
1、声明
静态内部类中可以声明静态成员变量和静态方法;非静态内部类不能。

2、访问
静态内部类只能访问外部类的静态成员变量和静态方法(静态内部类不持有外部类引用);非静态内部类可以访问外部类的所有成员和方法。

3、创建
声明静态内部类时,不依赖于外部类对象;声明非静态内部类时,依赖于外部类对象。
//假设类A有静态内部类B和非静态内部类C,创建B和C的区别为: 
A.B b=new A.B(); //静态内部类
A a=new A(); 
A.C c=a.new C(); //非静态内部类

参考:https://www.cnblogs.com/insist-bin/p/11137675.html

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI