1.抽象方法和抽象类的概述
抽象方法:就是加上abstract关键字,然后去掉大括号直接分号结束
抽象类:抽象方法所在的类,在class前面加上abstract即可
注意:抽象方法所在的类一定是抽象类,抽象类里的方法不一定就是抽象方法
package abstract_study;
/**
* 抽象方法:就是加上abstract关键字,然后去掉大括号直接分号结束
* 抽象类:抽象方法所在的类,在class前面加上abstract即可
* 【注意:抽象方法所在的类一定是抽象类,抽象类里的方法不一定就是抽象方法】
*/
public abstract class Animal {
//这是一个抽象方法,代表吃东西,但是吃什么不具体(没有具体的方法体和大括号)
public abstract void eat();
//这是一个普通的成员方法
public void method(){
System.out.println("这是一个普通的成员方法");
}
}
2.抽象方法和抽象类的使用
如何使用抽象类和抽象方法:
1.不能直接创建new抽象类对象,即
Animal animal = new Animal() //错误!
2.必须用一个子类来继承抽象父类
3.子类必须覆盖重写父类当中所有的抽象方法。即子类去掉抽象方法的abstract关键字,然后补上方法体大括号
4.创建子类对象进行使用
package abstract_study;
/**
* 抽象方法:就是加上abstract关键字,然后去掉大括号直接分号结束
* 抽象类:抽象方法所在的类,在class前面加上abstract即可
* 【注意:抽象方法所在的类一定是抽象类,抽象类里的方法不一定就是抽象方法】
*/
public abstract class Animal {
//这是一个抽象方法,代表吃东西,但是吃什么不具体(没有具体的方法体和大括号)
public abstract void eat();
//这是一个普通的成员方法
public void method(){
System.out.println("这是一个普通的成员方法");
}
}
package abstract_study;
public class Dog extends Animal {
@Override
public void eat(){
System.out.println("狗狗吃骨头");
}
}
package abstract_study;
/**
* 创建子类对象进行使用
*/
public class Demo01Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat(); //狗狗吃骨头
}
}