一、抽象类的总结
1、抽象类可以带有抽象和非抽象的方法
2、如果某个类带有抽象的方法,则该类必须标记为抽象类
3、抽象方法没有内容,声明以分号结束
4、抽象方法必须在具体类中运行
二、Object类(java.lang.Object)
1、Object类是所有类的父类,换言之,JAVA中所有类都是从Object类中继承出来的
2、Object类中的部分方法:equals()//判断两个对象是否意义上相等
getClass()//返回对象在哪里初始化
hashCode()//列出对象的哈希代码
3、Object不是抽象类,它的方法部分可被覆盖
4、不管实际上所引用的对象是什么类型,只有在引用变量的类型是带有某方法的类型时才可调用该方法。编译器根据引用类型来判断哪些方法能够调用,而非Object确实的类型!!
例:
Object o=new Dog();
o.bark();------>错误!!此处引用变量为Object型,而非Dog型!不可调用Dog的bark方法!
5、当你把对象装进ArrayList<Object>时,不管以前它用什么初始化,它只能是Object类型
6、类型转换:(Dog) o
三、多重继承与接口
1、JAVA不允许多重继承,因为可能出现“致命方块”问题
例:Animal中有一个变量i;Dog,Cat继承了Animal,但是Dog.i=1,Cat.i=2;Kell继承了Dog,Cat。如此一来,就有了问题,Kell.i到底是什么呢?
2、接口是100%抽象类,所有接口的方法都是抽象的
3、接口的定义:
例:public interface Pet{
public abstract void bark();
public abstract void show();
}
public class Dog extends Animal implements Pet{
public void bark(){``````}
public void show(){``````}
```````````````````````
}
4、实现接口时必须在某个类的继承下
5、不同继承树的类可以实现相同的接口,一个类可以实现多个接口!!
BY ZJQ