抽象类和抽象方法----java
抽象方法:使用abstract修饰的方法,没有方法体,只能声明。定义的是一种“规范”,就是告诉子类必须要给抽象
方法提供具体的实现。抽象类:使用abstract修饰的类。通过abstract方法定义规范,然后要求子类必须定义具体的实现,通过抽象类,
我们就可以做到严格限制子类的设计,使子类之间更加通用。抽象类的要点:1、有抽象方法的类只能定义成抽象类。2、抽象类不能被实例化,即不能用new来实例化抽象类。3、抽象类必须有构造方法,创建子类对象的时候使用。4、一个抽象类至少有0个抽象方法,至多(所有方法都是抽象方法)。5、子类必须重写父类方法,不重写就会提示编译错误,或者子类也定义为抽象类。6、override 重写 , implements 实现。
父类的方法是抽象的,需要被子类实现,弗雷德方法不是抽象的,子类可以重写。
验证:
public abstract class Animal {private String color;public Animal(){}public Animal(String color){this.color = color;}public abstract void shout();public abstract void eat();public String toString(){return "Animal{color="+color+"}";}
}
public class Dog extends Animal{private String nikeName;public Dog(){}public Dog(String color,String nikeName){super(color);this.nikeName = nikeName;}@Overridepublic void shout() {System.out.println("汪汪汪");}@Overridepublic void eat() {}public String toString(){return "Dog{nikeName="+nikeName+"}"+super.toString();}
}