一、抽象类的示例
public class Abstract01 {
public static void main(String[] args) {
}
}
当一个类中存在抽象方法则需要将该类声明为抽象类
abstract class Animal{
private String name;
public Animal(String name) {
this.name = name;
}
public abstract void eat();
}
出现父类方法不确定性的问题 => 将该方法设计为抽象方法
=> 抽象方法就是没有方法体的方法
public abstract void eat();
二、注意事项和细节
1.抽象类不能被实例化
public class AbstractDetail01 {
public static void main(String[] args) {
// new A();
}
}
abstract class A{
public void say(){
System.out.println("hello");
}
}
2.抽象类不一定要包含abstract方法,还可以有实现的方法
3.一旦包含了abstract方法则必须声明为abstract类
4.abstract只能修饰类和方法不能修饰属性和其它的
5.抽象类可以有任意成员(抽象本质还是类)
abstract class AA{
private int n1;
public abstract void hi();
}
6.抽象方法不能有主体
7.如果一个类继承了抽象类,则必须实现抽象类的所有抽象方法
除非自己有声明
abstract class AA{
private int n1;
public abstract void hi();
}
class BB extends AA{
public void hi(){
System.out.println(111);
}
}
8.抽象方法不能使用private、final、static来修饰
因为这三个关键字会与重写相违背的