疯狂Java讲义 读书笔记(一)
发布时间:2016-10-29 01:19:24 所属栏目:教程 来源:站长网
导读:副标题#e# 李刚老师的《疯狂Java讲义》(第三版)是我的启蒙作品,前前后后一共看了3遍,每次都有新的认识。 接下来的一段时间就将一些经典的知识记录下来。 1.计算机高级语言的执行方式分为编译型和解释型,前者运行高效但不能跨平台(C,C++,Object-C),
|
44.内部类的使用: 1.尽量使用静态内部类(调用简单)2.局部内部类没有什么卵用 3.非静态内部类的构造器必须由其外部类的对象来调用 public class SubClass extends Out.In
{
//显示定义SubClass的构造器
public SubClass(Out out)
{
//通过传入的Out对象显式调用In的构造器
out.super("hello");
}
}
45.匿名内部类:1.必须继承一个父类或者实现一个接口 2.不能是抽象类 3.不能定义构造器 4.JDK1.8以前被匿名内部类访问的局部变量必须使用final修饰,1.8以后会自动加上final修饰 46.枚举类:可以使用枚举类来替代静态final常量 public class Enum {
public enum Season{
spring,summer,fall,winter;
}
public static void main(String[] args) {
Season season=Season.spring;
System.out.println(season);
switch (season){
case spring:
System.out.println("spring");
break;
case summer:
System.out.println("summer");
break;
case fall:
System.out.println("fall");
break;
case winter:
System.out.println("winter");
break;
}
}
47.垃圾回收:1.只负责回收对象,不负责物理资源 2.程序无法精确控制垃圾回收的运行 3.在回收对象前,会调用对象的finalize方法尝试让其获得新的引用以复活 4.finalize方法何时被调用具有不确定性 public class FinalizeTest
{
private static FinalizeTest ft = null;
public void info()
{
System.out.println("测试资源清理的finalize方法");
}
public static void main(String[] args) throws Exception
{
// 创建FinalizeTest对象立即进入可恢复状态
new FinalizeTest();
// 通知系统进行资源回收
// System.gc(); //①
// 强制垃圾回收机制调用可恢复对象的finalize()方法
// Runtime.getRuntime().runFinalization(); //②
System.runFinalization(); //③
ft.info();
}
public void finalize()
{
// 让tf引用到试图回收的可恢复对象,即可恢复对象重新变成可达
ft = this;
}
}
48.引用类型:1.强引用(最常见的引用) 2.软引用(当系统内存空间不够时会被回收) 3.弱引用(比软引用级别更低,当系统垃圾回收机制运行时,无论内存够不够都会被回收) 4.虚引用(没什么用) (编辑:宣城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读

