美文网首页
Java核心技术卷1

Java核心技术卷1

作者: 王万兴MyFriend | 来源:发表于2016-04-09 00:34 被阅读0次

    第四章

    无聊的Date类

    A类使用了B类时,只需要:
    >javac A.java
    即可以编译A和B
    java编译器会自动比较.class和.java文件的版本,如果.java较新则自动重新编译之。

    访问器最好返回成员变量的拷贝,clone

    final修饰成员变量时,声明时可以不给初值,即final空白,在第一次使用之前必须被初始化。

    每一个类都可以有一个main方法,可用于单元测试。

    Java采用值传递

    多个函数具有相同名称不同参数,叫做重载;函数的签名包括函数名称和参数,而不包括返回值。

    局部变量未初始化时,会引起编译错误;类成员变量未初始化时会默认被初始化

    显示域初始化

    java一个构造器可以调用另一个构造器,用this(x,y,z);C++没有这种方式

    第五章

    super和this的实现是不同的,super并不是一个对象的引用,不能将super赋值给一个变量,它只是一个指示编译器调用超类方法的特有关键字。

    使用this或super调用构造函数时,必须放在首行

    Integer Long是「包装器」,对于和基本类型的转换时「编译器」进行的自动打包和拆包,而不是jvm的行为。

    java也支持参数数量可变的方法,并且最后一个参数可以传递数组。
    main方法也可以写成:

    public static void main(String... args)

    强制类型转换:

    强制类型转换的前提是父类型引用指向的对象类型确实是之类对象,此时才可以进行转换,否则会抛出ClassCastException异常。正确的方式是在转换前通过instanceof来判断。

    使用Method实现回调功能,是C程序员的方式,Java应该使用接口实现。

    第六章

    接口中不能包含实例域或静态方法,但是可以包含常量。
    接口中方法默认为public;接口中常量默认为public static final。

    一个类只能继承一个超类,但是可以实现多个接口

    内部类


    Java核心技术卷1

    内部类可以声明为public或private

    内部类的对象有一个隐式引用,它引用了实例化该内部对象的外围类对象,通过这个引用,可以访问外围类对象的全部状态。static内部类没有这种指针

    内部类声明为私有,只有其外部类才能够生成内部类对象。只有内部类可以是私有类,而常规类只可以具有包可见性,或公有可见性。

    javap命令

    内部类会生成outer$inner. class的文件

    局部内部类的实现:


    Java核心技术卷1

    注意局部内部类是如何访问final的局部变量的,这里有些像闭包。

    Java核心技术卷1

    当内部类不需要引用任何外部类的对象时,可以声明为static。
    声明在接口中的内部类自动成为static和public。

    相关文章

      网友评论

          本文标题:Java核心技术卷1

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