Day1

2017-04-19  本文已影响2人  大海孤了岛
1. final、finally和finalize的区别
  • final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
2. 关于序列化
  • 对象序列化的所属类需要实现Serializable接口
3. CollectionCollections的区别:
  • Collection是java.util下的接口,它是各种集合结构的父接口。
4.关于构造方法的几点注意事项
5. 关于类的名字的获取:
package test;
import java.util.Date;
public class SuperTest extends Date {
    private void test(){
        System.out.println(getClass().getName());
        System.out.println(super.getClass().getName());
    }

    public static void main(String[] args){
        new SuperTest().test();
    }
}

输出结果:
extend.SuperTest
extend.SuperTest

TestSuper和Date的getClass都没有重写,因此调用的是Object的getClass,而Object的getClass作用是返回运行时类的名字。

6. static的初始化:
public class Test {
    static int cnt = 6;
    static {
        cnt += 9;
    }
    public static void main(String[] args){
        System.out.println("cnt= " + cnt);
    }
    static {
        cnt /= 3;
    }
}
输出结果:
cnt= 5

初始化顺序:
1.先父类,后子类
2.先属性,后构造函数
3.先静态,后非静态
4.先静态属性,后静态代码块
5.同一类型(非数据类型,指以上),按代码先后顺序

7. 接口的变量定义:
public interface IService { String NAME = "default"; }

接口中的变量默认为public static final的,方法默认为public abstract的

8. 访问修饰符作用范围:
Paste_Image.png
上一篇下一篇

猜你喜欢

热点阅读