JAVA中的抽象类

一、抽象类的示例

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来修饰
  因为这三个关键字会与重写相违背的

你可能感兴趣的:(#JAVA,java,开发语言)