inner classes 内嵌类

inner classes :
1、把class的定义置于某个类体中
作用:1、隐藏你不想让别人知道的操作,也即封装性。(设置为private别人无法访问)
2、一个内部类对象可以访问创建它的外部类对象的内容,甚至包括私有变量。

非静态:
pubic class outerClass{
private int ma;
private class innerClass implements C{
可以访问ma
}

一个内部类对象可以访问创建它的外部类对象的内容,甚至包括私有变量,
Java编译器在创建内部类对象时,隐式的把其外部类对象的引用也传了进去并一直保存着。

在外部类作用范围之外,要创建内部类对象必须先创建其外部类对象。

静态:
和普通的类一样,内部类也可以有静态的。不过和非静态内部类相比,区别就在于静态内部类没有了指向外部的引用。
这就意味着静态内部类无法访问外部类的成员。

在任何非静态内部类中,都不能有静态数据。

注:通过自己的测试发现,内嵌类声明为private 也可以被 外部类和外部类中其他的内部类访问,这个让我很困惑??
只能这样理解:类 和 他的所有内部类 都拷贝了成员的引用,换句话来说,在类的内部(包括内部和外部 ,内部和内部)是
没有隐私这个概念的,它们所有的成员和方法被互相暴露出来。

2、把class的定义置于某个函数体(代码块-执行体)中
可以匿名(看起来简练点)
作用:可以实现回调函数的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值