欧耶。。。类和对象终于弄完了。。 老师所说的“最庞大的一章,接下来就是曙光了。。。。”,继续加油,加班啊~!
1、Object类是所有java类的根基类。它是金字塔的塔尖儿。
2、finalize()方法类似于C++中的析构函数。
3、当将字符串和其他东东连接时,会自动调用ToString()方法
4、classpath里面 .; 点代表当前路径。
5、a.equals(b);等价于 a == b; 只有a 和 b 指向同一个引用时,他们才相等 不然永远不相等 。
6、system.out.println(a instanceof Dog) 注意instance的用法。引用的用法。
7、动态绑定和多态的条件:一、要有继承。二、要有重写。三、父类引用指向子类对象。
好处:可扩展性很好。
8、抽象类 abstract
含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
抽象类不能被实例化
抽象方法只需声明,不需实现。
9、final变量的值不能被改变 final的方法不能被重写 final的类不能够被继承
10、一个接口里面的成员变量默认是 public static final 的,也只能是public static final 的
11、类与对象
重点 内存分析贯穿始终
12、练习 设计接口实现下面结构
interface 照顾宠物 包括 喂食();方法 和 和它玩();方法
再通过实现表明工人是怎么实现这俩方法的,农民是怎么实现这俩方法的,国家干部是怎么实现这里方法的。
我的答案(修改过的)
interface LookAfterPet{
void feeding();
void playWithIt();
} //这里一开始多了个public,结果就出错了 我把它放进了“here”的位置
public class TestInterface {
//here
public static void main(String args[]){
LookAfterPet a = new Workers();
//Workers a = new Workers();
//这里注意应该这样写 才能体会到多继承的关系~~!!!!!
a.feeding();
a.playWithIt();
//peasants b = new peasants();
LookAfterPet b = new peasants();
b.feeding();
b.playWithIt();
//nationalCadres c = new nationalCadres();
LookAfterPet c = new nationalCadres();
c.feeding();
c.playWithIt();
}
}
class Workers implements LookAfterPet{
public void feeding() {
System.out.println("工人喂宠物剩饭");
}
public void playWithIt() {
System.out.println("工人让宠物搬砖来和它玩");
}
}
class peasants implements LookAfterPet{
public void feeding(){
System.out.println("农民喂宠物自家做的饭菜");
}
public void playWithIt(){
System.out.println("农民和宠物一起玩捉迷藏");
}
}
class nationalCadres implements LookAfterPet{
public void feeding(){
System.out.println("政府官员喂宠物五星级饭饭");
}
public void playWithIt(){
System.out.println("政府官员派佣人和宠物一起玩");
}
}
运行结果如下:
第四章走起~~~~~