Day1

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,342评论 18 399
  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 9,738评论 0 16
  • 对象的创建与销毁 Item 1: 使用static工厂方法,而不是构造函数创建对象:仅仅是创建对象的方法,并非Fa...
    孙小磊阅读 6,268评论 0 3
  • 1.import static是Java 5增加的功能,就是将Import类中的静态方法,可以作为本类的静态方法来...
    XLsn0w阅读 5,040评论 0 2
  • 我小时候,精品店有一种摆件,外面是或玻璃或塑料的透明罩,有个底座。里边多见的是雪人。雪人粘稳在底座,旁边还粘有小树...
    茉非阅读 1,522评论 0 1

友情链接更多精彩内容