1.1抽象类的概念
所有的对象都是通过类来进行描述,但并不是所有的类都是用来描述对象的。如果一个类中并没有足够的信息来描述一个对象,那么这个类就是抽象类。
抽象方法的概念:在此时animal类中存在方法bark(),但是没有方法内没有实际工作的内容,我们就将其设计成抽象方法,包含抽象方法的类也是抽象类。
1.2抽象类语法
在Java中,一个类如果被 abstract 修饰称为抽象类,抽象类中被 abstract 修饰的方法称为抽象方法,抽象方法不用 给出具体的实现体。
public abstract class father {
//抽象类father
public father(){
System.out.println("父类构造方法");
}
public abstract void test();
//抽象方法test()
}
注意:抽象类也是类,内部可以包含普通方法和属性,还有构造方法。
1.3抽象类特征
1.3.1抽象类不能直接实例化
public class Test {
public static void main(String[] args) {
father father=new father();
}
}
//编译失败
1.3.2抽象类方法不能是private
public abstract class father {
//抽象类father
public father(){
System.out.println("父类构造方法");
}
private abstract void test();
//抽象方法test()
}
//编译失败
注意:抽象方法没有加限定符时,默认权限是public
1.3.3抽象方法不能被final和static修饰,因为抽象方法要被子类重写
public abstract class father {
//抽象类father
public father(){
System.out.println("父类构造方法");
}
abstract final void test();
abstract static void test1();
//抽象方法test()
}
//编译报错