抽象方法:就是加上abstract关键字,然后去掉大挂号,直接分号结束;
抽象类:抽象方法所在的类,必须是抽象才行。在class之前写上abstract即可。
public abstract class Animal {
//这是一个抽象方法,代表吃东西,但是具体是什么还不知道到。还处于抽象状态(大挂号内容)不确定
public abstract void eat();
//这是一个普通方法
public void animalMethod() {}
}
如何使用抽象类和抽象方法:
不能直接创建new抽象对象
public class Test01Abstract {
public static void main(String[] args) {
// Animal animal=new Animal(); 1.不能直接创建new抽象对象
}
}
.必须用一个类来继承抽象父类
.子类必须覆盖重写抽象父类当中所有的抽象方法。
覆盖重写(实现):子类去掉抽象方法的abstract关键字,然后不要方法体大挂号
public class Dog extends Animal{
//必须用一个类来继承抽象父类,且要覆盖重写
public void eat() {
System.out.println("吃骨头");
}
}
创建子类对象进行使用
public class Test01Abstract {
public static void main(String[] args) {
// Animal animal=new Animal(); 1.不能直接创建new抽象对象
Dog dog=new Dog();//.创建子类对象进行使用
dog.eat();
}
}