JAVA内部类
来源:互联网 发布:新海油网络论坛 编辑:程序博客网 时间:2024/06/07 16:43
一般情况,我们把类定义成独立的单元。有些情况下,我们把一个类放在另一个类的内部定义,称为内部类。
1.内部类的作用
(1).内部类提供了更好的封装,只能让外部类直接访问,不允许同一个包中的其他类直接访问。
(2).内部类可以直接访问外部类的私有属性,内部类被当成外部类的成员。但外部类不能访问内部类的内部属性。
2.内部类的使用场合
由于内部类提供了更好的封装特性,并且可以很方便的访问外部类的属性。所以,通常内部类在只为所在外部类提供服务的情况下优先使用。
3.内部类的分类
3.1成员内部类
可以使用private、protected、public任意进行修饰。类文件:外部类s内部类class。
3.1.1 成员内部类的访问方式
1.在外部类内提供一个方法创建内部类的对象进行访问。
2.在其他类创建内部类的对象进行访问。创建的格式:
外部类.内部类 变量名=new外部类().new 内部类;
3.如果是静态内部类,则它的访问方式为:
外部类.内部类 变量名=new 外部类.内部类();
定义格式为:
static class ClassName{
//类体
}
3.1.2成员内部类的注意事项
1.成员内部类可以直接访问外部类的成员。
2.如果成员内部类与外部类存在同名的成员,在内部类中默认是访问内部类的成员,成员通过“外部类.this.成员”指定访问外部类的成员。
3.如果成员内部类出现了静态的成员,那么该成员内部类也得用static修饰。
4.如果成员内部类是私有的,那么创建内部类的对象就只能在外部类提供方法创建。
3.1.3匿名内部类
1.适合那种只需要使用一次的类。比如:键盘监听操作等等。语法:
new 父类构造器(实参列表)实现接口(){
//匿名类类体
}
2.好处:可以简化书写
3.前提:必须有继承的关系
3.1.4 局部内部类
1.定义:在一个类的方法内部定义的另外一个类,则这个类称为局部内部类。
2.局部内部类注意的事项:如果局部内部类访问了局部变量,那么该变量需要使用final修饰(原因:因为声明周期不一致,所以内部类访问的局部变量是一个复制品。)
- 【Java】【内部类】Java 内部类简介
- [Java] Java 内部类
- Java 内部类(成员内部类、局部内部类、静态内部类和匿名内部类)
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、局部内部类、静态内部类、匿名内部类)
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- java的内部类、匿名内部类、局部内部类
- java内部类之成员内部类、静态内部类
- java 成员内部类 局部内部类,匿名内部类
- Java 静态内部类/内部类
- java内部类、静态内部类 小结
- Java内部类,静态内部类
- JAVA 内部类与静态内部类
- java内部类--局部内部类
- Java 内部类以及匿名内部类
- OAuth 2.0理解
- iOS应用支持IPV6,就那点事儿
- zigbee学习重点资料的摘录2
- git删除远程分支和tag相关命令
- 三剑客学习之路
- JAVA内部类
- ubuntu添加Android studio快捷启动到左侧任务栏
- 第十二周上机实践项目1(2)
- 剑指offer-链表
- glut与glew的配置
- scala案例学习之Currying柯里化
- Gym 100197G Robbers (卡精度)
- 第十二周上机实践项目1.3
- 【Linux网络编程】多播、组播