(34)内部类
来源:互联网 发布:首席网络运营官 编辑:程序博客网 时间:2024/05/20 20:56
内部类[不常用]
一、
定义:将一个类定义在另一个类的里面,对里面的那个类就称为内部类(内置类、嵌套类)
二、内部类的访问规则(互访方式)
①内部类可以直接访问外部类中的成员,包括私有
之所以可以直接访问外部类的成员,是因为内部类中持有了一个外部类的引用,格式:外部类名.this
②外部类要访问内部类,必须建立内部类对象
对这个访问规则简单解释:
若孙悟空就在牛魔王的肚子里,孙悟空要访问心脏,则可直接去,直接访问(内部类直接访问外部成员)
若牛魔王要访问孙悟空的心脏,要先建立孙悟空对象,再得到孙悟空的心脏。(外部类访问内部类)
三、举个栗子:
public class Outer { int x=3;class Inner{ int x=4;void function() {int x=6;System.out.println("inner:"+x);//6System.out.println("inner:"+this.x);//4System.out.println("inner:"+Outer.this.x);//3}}public void method() {Inner in=new Inner();in.function();}}public class Demo {public static void main(String[] args) {// TODO Auto-generated method stub/* * 间接访问内部类成员 */ Outer ot=new Outer(); ot.method(); /* * 直接访问内部类成员 */ Outer.Inner in=new Outer().new Inner();}
四、访问方式
①当内部类定义在外部类的成员位置上时,而且非私有,可以在外部其他类中,可以直接建立内部类对象。
格式:外部类.内部类 变量名=new外部类名().内部类名()
Outer.Inner in=new Outer().new Inner();
②当内部类在成员位置上,就可以被成员修饰符所修饰
比如,private:将内部类在外部类中进行封装。
Static:内部类就具备static的特性
当内部类被static修饰后,只能直接访问外部类中的static成员,出现了访问局限。
在外部其他类中创建
五、什么时候用内部类
当描述事物时,事物的内部还有事物,该事物用内部类描述。
因为内部事务在使用外部事物的内容阅读全文
0 0
- (34)内部类
- 内部类---(静态内部类、成员内部类、匿名内部类、局部内部类)
- Java内部类(成员内部类、局部内部类、静态内部类、匿名内部类)
- 内部类(匿名内部类)
- java 内部类(成员内部类)
- 成员内部类(实例内部类)
- java 内部类(成员内部类)
- java内部类(局部内部类)
- 内部类(一)
- 内部类(未完成)
- 内部类(转载)
- 内部类(一)
- 内部类(二)
- 内部类(补充)
- 内部类(上)
- 内部类(下)
- (四十)、内部类
- 内部类(innerclass)
- 在建DB块时候应该注意的问题
- OpenCV自学笔记16. 卡尔曼滤波器小例子
- Fetch
- [bzoj4870] [Shoi2017]组合数问题
- Linux IO模式及 select、poll、epoll详解
- (34)内部类
- asp.net 用户登录 验证码
- python中的glob包
- TypeScript解构
- 剑指Offer----矩形覆盖
- Vue2.0项目开发流程—通俗易懂
- 使用Sense操作ElasticSearch CRUD
- python 实现剑指offer系列3:从尾到头打印链表
- rti connext dds 例子程序