抽象(abstract)
抽象类
就是使用abstract修饰的类
目的:
让类不能被实例化,只能用于继承
继承 抽象的类 类,必须实现抽象类中的所有抽象方法,实现就是把abstract去掉并且加上{},如果没有全部是按,那么这个子类也需要用abstract修饰
一个普通类,继承一个抽象类,需要实现所有的抽象方法
一个抽象类,继承一个抽象类,需要实现0~N个抽象方法
含有抽象方法的类,一定是抽象类,是正确的
抽象类中,一定含有抽象方法,是错误的
没有抽象方法,为什么还要声明为抽象类呢?
就是为了不让类实例化对象
性质
1 抽象类不能被实例化对象
2 虽然抽象类不能被实例化对象,但是有构造方法,用于让子类实例化对象
注意
abstract和final不能同时修饰
抽象方法
使用abstract修饰的方法,并且没有{}
public class Abstract_01 {
public static void main(String[] args) {
// A a = new A();
A c = new C();
c.move();
m1();
m2();
A a = null;
a.delete();
a.add();
}
public static void m1() {
}
public static void m2() {
}
}
abstract class A{
public void eat() {
System.out.println("这是一个抽象类");
}
//抽象方法
public abstract void move();
public abstract void add();
public abstract void load();
public abstract void delete();
A(){
System.out.println("A的构造方法");
}
}
abstract class B extends A{}
class C extends A{
public void move() {
System.out.println("着火啦,快跑啊~");
}
public void add() {
}
public void load() {
}
public void delete() {
}
}