抽象类和接口中的重要知识点

    科技2025-04-07  16

    抽象类和接口是在面向对象设计中最为重要的一个中间环节,利用抽象类与接口可以有效地拆分大型系统,避免产生耦合问题。

    1、抽象类的基本定义

    抽象类需要使用abstract class进行定义,并且在 一个抽象类中也可以利用abstract关键字定义若干个抽象方法,这样抽象类的子类就必须在继承抽象类时强制覆写全部抽象方法。

    抽象类并不是一个完整的类,对于抽象类的使用需要按照以下原则进行: (1)、抽象类必须提供有子类,子类使用extends继承一个抽象类; (2)、抽象类的子类(不是抽象类)一定要覆写抽象类中的全部抽象方法; (3)、抽象类的对象实例化可以利用对象多态性通过子类向上转型的方式完成。

    abstract class Message { //定义抽象类 private String type; //消息类型 public abstract String getConnectInfo(); //抽象方法 public String getType() { return type; } public void setType(String type) { this.type = type; } } public class DatabaseMessage extends Message{ //类的继承关系 @Override public String getConnectInfo() { //方法覆写,定义方法体 return "【"+super.getType()+"】数据库连接信息"; //调用被覆写的方法 } } public class JavaDemo { public static void main(String[] args) { Message msg = new DatabaseMessage(); //子类为父类实例化 msg.setType("哈哈哈哈"); //调用父类继承方法 System.out.println(msg.getConnectInfo()); //调用被覆写的方法 } }

    本程序利用extends关键字定义了Message抽象类的子类DatabateMessage,并且在DatabateMessage子类中按照要求覆写了getConnextInfo()抽象方法,在主类中利用对象得到向上转型原则,通过子类实例化了Message类的对象,这样当调用getConnectInfo()方法时执行的就是子类所覆写的方法体;

    Processed: 0.009, SQL: 8