【学习笔记14】java面向对象-成员内部类、局部内部类

内部类:一个类定义在另外一个类的内部,那么该类就称作为内部类。

内部类的class文件名: 外部类$内部类。

命名好处:便于区分该class文件是属于哪个外部类的。


内部类的类别:

1. 成员内部类:

成员内部类的访问方式:

方式一:在外部类提供一个方法创建内部类的对象进行访问。

方式二:在其他类直接创建内部类的对象。 格式:外部类.内部类  变量名 = new 外部类().new 内部类();

注意: 如果是一个静态内部类,那么在其他类创建 的格式:
外部类.内部类  变量名 = new 外部类.内部类();


内部类的应用场景: 我们在描述A事物的时候,发现描述的A事物内部还存在另外一个比较复杂的事物B时候,而且这个比较复杂事物B还需要访问A事物的属性等数据,那么这时候我们就可以使用内部类描述B事物。

  比如: 人--->心脏

  class 人{

氧气

等....


class 心脏{

}


  }


内部类的好处:内部类可以直接访问外部类的所有成员。

内部类要注意的细节:
1. 如果外部类与内部类存在同名的成员变量时,在内部类中默认情况下是访问内部类的成员变量。
     可以通过"外部类.this.成员变量名" 指定访问外部类的 成员。
2. 私有的成员内部类只能在外部类提供一个方法创建内部类的对象进行访问,不能在其他类创建对象了。

3. 成员内部类一旦出现了静态的成员,那么该类也必须 使用static修饰。

2. 局部内部类: 在一个类的方法内部定义另外一个类,那么另外一个类就称作为局部内部类。

        局部内部类要注意的细节:
1. 如果局部 内部类访问了一个局部变量,那么该局部变量必须使用final修饰。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值