1. abstract的意思:
抽象的,似是而非的,像,却又不是,具备某种对象的特征,但不完整。
2. abstract修饰类:
I. 即为抽象类,不能独立new对象。
II. 可被子类继承,对子类提供共性的属性和方法。
III. 可声明引用,更纯粹的使用多态。
IV. 抽象类的构造方法的作用:构建子类对象时,先构建父类对象,由父类共性+子类独有组成完整的子类对象。
abstract class Animal1{
String breed;
int age;
String sex;
public Animal1() {
System.out.println("nihao");
}
//抽象方法(只有方法声明,没有方法实现,强制子类实现)
public abstract void eat();
public void sleep() {}
}
class Dog1 extends Animal1{
public Dog1() {
super();
}
@Override
public void eat() {
System.out.println("fuhuo");
}
}
3.总结:
I. abstract修饰类:不能new对象,但可以声明引用,抽象类是有构造方法的。
II. abstract修饰方法:只有方法声明,没有方法实现。(需包含在抽象类中)
III. 抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类。
IV. 子类继承抽象类之后,必须覆盖父类当中所有的抽象方法,否则子类还是抽象类。如果这个抽象类继承了别的抽象类,那么可以不覆盖抽象方法。因为:这个抽象类也是抽象的,没办法实现方法体。