一、定义
各个子类的相同方法所包含的内容是不一样的,这时候要用到抽象方法。其实和前面的方法重写@Override是一样的,只不过****抽象方法能做到强制程序员重写方法

二、注意事项

注意:虽然抽象类不能创建对象,但还是要写构造函数,因为抽象类的子类在创建对象时要有属性。所以不管是子类还是父类都要有构造函数。
三、代码示例

1、动物类---父类
java
package com.abstractclass.demo2;
public abstract class Animal {
private String name;
private int age;
public Animal() {
}
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void drink(){
System.out.println("动物在喝水");
}
public abstract void eat();
}
2、青蛙类-----子类
java
package com.abstractclass.demo2;
public class Frog extends Animal{
public Frog() {
}
public Frog(String name, int age) {
super(name, age);
}
@Override
public void eat() {
System.out.println("青蛙在吃虫子");
}
}
3、狗类-----子类
java
package com.abstractclass.demo2;
public class Dog extends Animal{
@Override
public void eat() {
System.out.println("狗在吃骨头");
}
public Dog() {
}
public Dog(String name, int age) {
super(name, age);
}
}
4、山羊类-----子类
java
package com.abstractclass.demo2;
public class Goat extends Animal{
@Override
public void eat() {
System.out.println("山羊在吃草");
}
public Goat() {
}
public Goat(String name, int age) {
super(name, age);
}
}
注意:1、子类也必须要有构造函数,有参+无参的都要,不然无法创建对象。
2、出现红色波浪线时,先用鼠标点击波浪线,再输入Alt+回车
四、意义

五、总结
