基本概念

主要作用在于对子类中覆写方法进行约定,可以定义抽象方法(abstract)强制子类实现。抽象方法所在的类必须是抽象类。

  1. abstract class Message{
  2. private String type;
  3. public abstract void getConnetInfo();//抽象方法
  4. public void setType(String type){
  5. this.type = type;
  6. }
  7. public void getType(){
  8. return type;
  9. }
  10. }
  11. class DatabaseMessage extends Message{
  12. public String getConnectInfo(){
  13. return "111";
  14. }
  15. }
  16. class Untitled {
  17. public static void main(String[] args) {
  18. Message msg = new DatabaseMessage();
  19. msg.setType("222");
  20. System.out.println(msg.getConnectInfo());//111
  21. System.out.println(msg.getType());//222
  22. }
  23. }

对于抽象类使用的几点意见:

1.抽象类自己无法直接实例化
2.抽象类主要目的是进行过渡操作使用,所以当你要使用抽象类进行开发的时候需要解决类继承问题时所带来的代码重复处理。

抽象类相关说明

1.定义抽象类不能有final(抽象类必须有子类,final不允许继承)
2.抽象类是作为一个普通类的加强版出现的,抽象类的组成就是再普通类的基础之上扩展的。那么在普通类之中可以定义属性和方法,那么这些属性一定要求进行内存空间开辟的,所以抽象类一定可以提供构造方法,并且子类一定会按照子类对象的实例化原则进行父类构造调用。
3.抽象类允许没有抽象方法,但是依然不能用new实例化。
4.抽象类允许提供static方法,并且不受到对象的局限。

抽象类的应用

1.对子类的方法统一管理。
2.自身提供一些普通方法并可以调用抽象方法。