首页 > 编程 > Java > 正文

Java核心技术Ⅰ笔记

2019-11-08 18:35:39
字体:
来源:转载
供稿:网友
不要编写返回可变对象的访问器方法(P113)class Employee{     PRivate Date date;     public Date getDate(){          ...          return date;     }}我们获取Date对象之后就可以修改date域的内容:Date getDate = employeeObject.getDate();//引用了同一个对象getDate.setTime(xxx);应用场景:private私有域,可变对象解决方法:clone出一个对象副本(完全独立),返回副本。final实例域(P115)final修饰符大都修饰基本类型,或者不可变的类(类中的每个方法都不会改变其对象,如String)。例如:private final Date hiredate;意味着存储在hiredate变量中的对象引用在对象构造之后(即可以在构造函数中指向一个对象,然后不改变引用(事实上也不能))就不能被改变,而不意味着hiredate对象是个常量。任何方法都可以对hiredate引用的对象调用setTime方法。java方法参数使用(P123)一个方法不能够修改基本数据类型的参数(数值型和布尔型)一个方法可以改变对象参数的状态一个方法不能让对象参数引用一个新的对象注:知乎-java到底是值传递还是引用传递(印象笔记也有保存)重载overloading 多个方法有相同的名字,不同的参数便产生了重载。初始化P131(1) 所有数据域被初始化为默认值(0,false,null)(2) 按照在类声明中出现的次序,依次执行域初始化语句和初始化块(3) 如果构造器第一行调用了第二个构造器,则执行第二个构造主体(4) 执行这个构造器的主体注:Java中构造代码块和成员变量初始化的顺序关系(印象笔记也有保存)P149父类的静态代码块,静态变量(java虚拟机加载时执行,只执行一次)子类的静态代码块,静态变量(java虚拟机加载时执行,只执行一次)父类的属性对象(成员变量),父类的普通代码块(按写的顺序执行 new一次,执行一次)父类的构造函数(new一次,执行一次 )子类的属性对象 (成员变量) ,子类的普通代码块 (按写的顺序执行 new一次,执行一次 )子类的构造函数(new一次,执行一次 )修饰符
 当前类同一个包子类其他包
public
protected 
默认(无修饰符)  
private   
多态和动态绑定多态:一个对象变量可以只是多种实际的数据类型的现象(父类的引用指向子类的对象,调用方法会调用子类的实现,而不是父类的实现;多态与方法覆盖有关,与方法重载无关)允许不同的类对象对同一个消息做出相应。三个必要条件:有继承;有重写;父类引用指向子类对象动态绑定:运行时能够自动地选择调用哪个方法的现象继承P153如果子类的构造器没有显式地调用超类的构造器,则将自动调用超类默认(没有参数)的构造器。如果超类没有不带参数的构造器,并且在子类的构造器中有没有显式地调用超类的其他构造器,则Java编译器将报错。调用构造器的语句只能作为另一个构造器的第一条语句出现。(无论是super还是this调用)
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表