Day1

作者: 大海孤了岛 | 来源:发表于2017-04-19 23:50 被阅读2次
    1. final、finally和finalize的区别
    • final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
    • finally是异常处理语句结构的一部分,表示总是执行。
    • finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖方法提供垃圾收集时的其他资源的回收,比如关闭文件等。
    2. 关于序列化
    • 对象序列化的所属类需要实现Serializable接口
    • 使用ObjectOutputStream和ObjectInputStream可以将对象进行传输
    • 声明为static和transient类型的成员不能被串行化。因为static代表类的状态,transient代表对象的临时数据。
    3. CollectionCollections的区别:
    • Collection是java.util下的接口,它是各种集合结构的父接口。
    • Collections是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

    相关文章

      网友评论

          本文标题:Day1

          本文链接:https://www.haomeiwen.com/subject/ayhkzttx.html