内部类、匿名类【对象】
来源:互联网 发布:高德地图数据采集器 编辑:程序博客网 时间:2024/06/08 03:32
1、 定义内部类后,实际上,内部类获取外部类的数据、及method访问权限;可直接访问;而外部类也可以直接访问;外部类可以通过内部类对象.method名称;内部类对象.field.名称来访问使用;双向不受控于private限制;
2、 我们特别强调类之间关系时,可考虑内部类;
1) 当外部类定义为public时,内部类也具备public属性;
2)
2、匿名内部类(后面的理解,本质上是匿名对象)的理解:不是没有类的名字,是创建没有名称的对象/实例,“利用内部类创建不具名称的对象,并利用它访问到类里面的成员”,
(new classname (para) //这里的para是常规对象创建时可能用到的para,根据构造函数确定{返回值类型 method名称(para1,para2.。。。。){//method body}}).method名称(para1,para2,para3。。。。)
:思考,创建了没有名字的对象,不是没有名字的类,类不可能没有名字;
:本质,是在具备类定义(可以是内部类,也可以是外部类)的基础上,创建没有名字的对象;为了补全代码,所以出现了内部类(个人理解,内部对象更为合理);
主要用途,用于补充内部类没有定义到的method方法,并有效简化代码;
class Inner{}public class TestInner {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubint i=(new Inner(){int get_num(){return 100;}}).get_num();}
我们为什么需要内部类?
1、一般来说,内部类集成某个类或者实现某个接口,内部类提供了一种进入其外围类的方法;
2、每个内部类都能独立的继承一个(接口的实现),无论外围类是否继承了某个接口的实现,对内部类没有任何影响;
3、内部类可以具备多个实例,而且多个实例可以以不同的方式实现同一个接口,或者继承同一个类;
4、内部类可以具备多个实例,每个实例都有自己的状态信息,并且与外围类对象的信息相互独立;
4、创建内部类并不依赖于外围对象的创建; 0 0
- 内部类、匿名类【对象】
- 匿名类、内部类、匿名内部类
- 匿名类、内部类、匿名内部类
- 匿名类、内部类、匿名内部类
- 匿名类,内部类,匿名内部类
- 匿名对象和内部类
- 面向对象---匿名内部类
- 匿名内部类创建对象
- 接口 匿名对象 内部类
- 匿名对象和内部类
- 面向对象--匿名内部类
- 匿名类内部类
- 内部类-匿名类
- 内部类匿名类
- 内部类、匿名类
- 内部类---匿名类
- 内部类,匿名类
- 匿名内部类与匿名对象
- [Leetcode]N-Queens II
- java--方法重载
- 20150130学习总结
- JSP中(servlet)如何使用定时作业Quartz框架
- 泛型案例
- 内部类、匿名类【对象】
- OSI七层模型笔记
- 接口与抽象类
- php提取图片实验(自己用)
- 异常处理介绍
- 冬令营一月三十号工作日志
- 【Android入门 八】消息机制
- android sdk安装
- HSSFClientAnchor 说明