抽象类
当父类的某些方法,需要声明,但是又不确定如何实现时(即父类方法的不确定性),可以将其声明为抽方法,那么这个类就是抽象类。
一、抽象类快速入门
当父类的一些方法不能确定时,可以用 abstract 关键字来修饰该方法,这个方法就是抽象方法,用abstract来修饰该类就是抽象类。
abstract class animal{
String name;
int age;
abstract public void cry();
}
-
抽象类的介绍:
-
用abstract 关键字来修饰一个类时,这个类就叫做抽象类;
访问修饰符 abstract 类名{
}
-
用abstract 关键字来修饰一个方法时,这个方法就是抽象方法;
访问修饰符 abstract 返回类型 方法名(参数列表); //没有方法体
-
抽象类的价值更多作用是在于设计,是设计者设计好后,让子类继承并实现;
抽象类()
-
抽象类,是考官比较爱问的知识点,在框架和设计模式使用较多;
-
二、抽象类使用的注意事项和细节讨论
-
抽象类不能被实例化,[解释抽象类为什么不能实例化对象](凉白茶 - 博客园 (cnblogs.com))。
-
抽象类不一定要包含abstract方法,也就是说抽象类可以没有abstract方法,但也可以有实现的非abstract方法。
-
一旦类包含了abstract方法,则这个类必须声明为abstract。
-
abstract 只能修饰类和方法,不能修饰属性和其他的。
-
抽象类可以有任意成员【抽象类本质还是类】,比如非抽象方法、构造器、静态属性等等
-
抽象方法不能有主体,即不能实现,如图所示
-
如果一个类继承了抽象类,则它必须实现抽象类的所有抽象方法,除非他自己页声明为abstract类。
-
抽象方法不能使用private、final 和 static 来修饰,因为这些关键字都是和重写相违背的。