首页 > 编程语言 > 详细

Java核心技术第4章笔记

时间:2019-06-28 11:32:41      阅读:83      评论:0      收藏:0      [点我收藏+]

    如果有两个类 Employee 和 EmployeeTest 分别在Employee.java和EmployeeTest.java(其中有main方法)中定义, EmployeeTest 依赖于 Employee ,则要编译运行有两种方法:

    (1)使用通配符调用Java编译器: java Employee*.java ,所有与通配符匹配的源文件都会被编译为类文件。

    (2)直接编译EmployeeTest.java: java EmployeeTest.java ,Java编译器发现EmployeeTest.java使用了 Employee 类时会查找名为Employee.class的文件,如果没有找到就会搜索Employee.java进行编译。如果Employee.class文件存在,但是Employee.java比它更新,也会重新编译这个文件。

    Employee.java:

    

public Employee(String n, double s, int year, int month, int day) {
    name = n;
    salary = s;
    LocalDate hireDay = LocalDate.of(year, month, day);
}

    这种方式与传入 LocalDate 类型参数相比哪种更好?

    实例方法都会获得一个隐式参数,这个参数就是调用方法的对象的引用,在方法中使用this关键字可以获取这个引用参数,在方法内会在实例方法调用和域前自动添加this引用。

    是否将某个方法设置为内联方法是Java虚拟机的任务,即时编译器会监视调用那些简洁、经常被调用、没有被重载以及可优化的方法。

    不要编写返回引用可变对象的访问器方法,如需返回一个可变对象的引用,应该首先对它进行克隆(clone)。

    实例方法可以访问所属类的所有对象的私有数据。

     final 修饰符大都应用于基本类型域或不可变类的域(如果类中的每个方法都不会改变对象,这种类就是不可变类,String类就是一个不变类)。

    静态变量使用的比较少,静态常量用的比较多。最好不要将域设计为public,但公有常量(即final域)却没问题。

    两种情况使用静态方法:

    (1)方法不需要访问对象状态,所需参数都是显式参数。

    (2)方法只需要访问类的静态域。

    使用静态工厂方法而不是构造器创建对象的两种情况:

    (1)构造器的名字必须与类名相同,但是希望使用更有意义的不同方法名创建对象。

    (2)构造器无法改变所构造的对象类型,但静态工厂方法可以返回不同的类型,如所构造类型的子类对象。

Java核心技术第4章笔记

原文:https://www.cnblogs.com/cbkun/p/11101577.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!