Java疯狂讲义读书笔记第六章(二)
来源:互联网 发布:淘宝开什么店比较好 编辑:程序博客网 时间:2024/05/29 04:26
- 内部类, 在类中定义一个类。属于类的成员,可用访问控制符修饰,设置为静态。
非静态内部类的方法内访问某个变量顺序,在该方法中找–>>方法所在内部类–>>内部类所在外部类
public class OutClass { private String prop = "123"; private class inClass { private String prop = "456"; private void info() { prop = "666"; System.out.println(prop); // 输出 666 System.out.println(this.prop); // 输出 456 System.out.println(OutClass.this.prop); // 输出 123 } } public void test() { inClass in = new inClass(); in.info(); }}
- 非静态内部类不能有静态声明(静态方法、静态成员变量、静态初始化块),外部类静态方法不可以访问非静态内部类。
- 静态内部类,用static修饰,包含静态成员,也可以包含非静态成员。但是静态内部类不可以访问外部类的实例成员,只能访问外部类的类成员(static修饰)。
在外部类以外使用非静态内部类,必须先实例化外部类。
// 第一种写法Out.In in = new Out().new In();// 第二种写法Out.In in;Out out = new Out();in = out.new In();
在外部类以外使用静态内部类,无须实例化外部类。
Out.In in = new Out.In();Out.In in;in = new out.In();
- 局部内部类,把一个定义在方法看里的内部类,仅在该方法里有效。不能再外部内的方法以外使用,所以不能使用访问控制符和static修饰。
匿名内部类(重点)适合创建那种只需要一次使用的类。一定一定要存在继承关系。
public abstrct Father() { public void show();}Father f = new Father() { // 匿名内部类 public void show() { System.out.println("匿名内部类"); }};f.show(); // 输出 匿名内部类
- Lambda表达式,支持将代码块用作方法参数,允许使用更简洁的代码来创建只有一个抽象方法的接口的实例。也可以叫(匿名函数)。
- 枚举类,实例个数有限且固定的类。用关键字enum定义。
- 枚举类继承自java.lang.Enum类(不是Object),所以不能显示的继承其他父类。enum类不能派生子类。枚举类的构造器只能使用private修饰,枚举类必须在类内部的第一行显示列出,否则这个枚举类不能产生实例。
- 垃圾回收机制只负责回收内存中的对象,不会回收任何物理资源。回收对象之前总是会调用finalize();方法,但该方法可能重新让一个引用变量指向该对象,导致取消回收。
- 对象在内存中的状态:可达、可恢复、不可达。创建对象后,若有一个以上的引用变量指向它,为可达状态。某个对象不再有任何引用变量引用它,为可恢复状态(若调用finalize()之前重新指向则恢复可达状态)。调用finalize()后没有变成可达状态则为不可达,系统才会真正回收。
- 强制系统进行垃圾回收。1.System.gc(); 2.Runtime.getRuntime().gc();
阅读全文
0 0
- Java疯狂讲义读书笔记第六章(二)
- Java疯狂讲义读书笔记第六章(一)
- 疯狂JAVA讲义---第六章(上):面向对象二
- 疯狂JAVA讲义---第六章(中):面向对象二
- 疯狂JAVA讲义---第六章(下):面向对象二
- 读书笔记(二)疯狂JAVA讲义 第四章 控制循环与数组
- Java疯狂讲义读书笔记第三章
- Java疯狂讲义读书笔记第四章
- Java疯狂讲义读书笔记第五章
- Java疯狂讲义读书笔记第七章
- Java疯狂讲义读书笔记第八章
- Java疯狂讲义读书笔记第九章
- Java疯狂讲义读书笔记第十章
- Java疯狂讲义读书笔记第十六章
- Java疯狂讲义读书笔记第十七章
- 《疯狂Java讲义》读书笔记(一)
- Java疯狂讲义读书笔记第一章
- 疯狂Java讲义之内部类(二)
- 二叉树面试题(基础篇二叉树的相关面试题(基础篇)
- 素数筛法
- HDU5983 Pocket Cube(模拟)
- SQL中char、varchar、nvarchar的区别
- 3.熟悉Python
- Java疯狂讲义读书笔记第六章(二)
- 手机数据竟然能找回来!没想到是因为这个
- rocketmq 云主机安装外部链接失败
- 安卓学习笔记之IntentService
- 一件工作,甲乙合作6天可以完成,乙丙合作10天可以完成.如果甲丙合作3天后,由乙单独做,还要9天才能完成.如果全部工作由3人合作,需几天可以完成?
- FPGA 亚稳态 双锁存器法
- 有关java环境搭建的一点心得理解
- HDU 5984 Pocky (数学)
- HDU 1010 Tempter of the Bone