1 抽象类与接口的区别:
(1) 相同点:都是不断向上抽取而来的
(2) 不同点:抽象类要被继承,只有单继承;接口需要被实现,支持多实现。
抽象类的成员变量可以是各种形态的,接口的成员变量只能是 public static final
2 多态的概念:一个对象对应着多种形态
在代码中的概念:父类或者接口的引用指向其子类的对象
多态的小应用:
abstract class Animal{
abstract void eat();
}
class Dog extends Animal{
void eat() {
System.out.println("狗正在啃骨头");
}
void lookHome() {
System.out.println("狗正在看家");
}
}
class Cat extends Animal{
void eat() {
System.out.println("猫正在吃鱼");
}
void sleep() {
System.out.println("猫正在睡觉");
}
}
public class DuoTaiDemo {
public static void main(String[] args) {
Dog d = new Dog();
// d.eat();
d.lookHome();
Cat c = new Cat();
// c.eat();
c.sleep();
method(c);
method(d);
}
// public static void method(Cat c) {
// c.eat();
// c.sleep();
//
//}
// public static void method(Dog d) {
// d.eat();
// d.lookHome();
//}
public static void method(Animal a) { //Animal a = new Dog();
a.eat();
}
}
03-21
307
08-11