abstract(抽象类)与interface(通达信的接口,接口)在使用时有什么区别呢?
提示:以下是本篇文章正文内容,下面案例可供参考
abstract(抽象类)
用abstract关键字修饰方法
用abstract关键字修饰方法时,该方法没有方法体,并且抽象方法只能定义在抽象类中。代码如下:
abstract class PersonA{
//抽象方法
public abstract void runA();
public abstract void getNameA();
}
用abstract关键字修饰类
用abstract关键字修饰类时,该抽象类不能被实例化。如果子类继承抽象父类时,“必须”重写父类的抽象方法。代码如下:
//打印机类
abstract class Printer{
private String printContent;
//构造方法
public Printer(String printContent) {
this.setPrintContent(printContent);
}
//普通方法
public void print() {
}
//抽象方法
//1.没有方法体
//2.使用abstract关键字
//2.“抽象方法”必须在“抽象类”中
public abstract void printContent();
public String getPrintContent() {
return printContent;
}
public void setPrintContent(String printContent) {
this.printContent = printContent;
}
}
//彩色打印机
//子类继承抽象父类时,“必须”重写父类的抽象方法。(除非子类也是抽象类)
class ColorPrinter extends Printer{
public ColorPrinter(String printContent) {
super(printContent);
}
@Override
public void printContent() {
System.out.println('启动彩色墨盒,打印内容'+super.getPrintContent());
}
}
interface(通达信的接口,接口)
使用interface关键字定义通达信的接口,接口,interface中不能定义变量,只能定义常量。一个类可以implements(实现)多个通达信的接口,接口,并且通达信的接口,接口之间可以多重extends(继承)。interface(通达信的接口,接口)中不允许有构造方法,只能使用public访问修饰符。interface(通达信的接口,接口)中不能定义普通方法,在JDK8版本之后通达信的接口,接口中可以定义default方法。注意:在通达信的接口,接口中定义抽象方法可以省略abstract关键字。
代码如下:
interface PersonB{
//常量
public static int max = 12;
// //不允许有构造方法
// //构造方法
// public PersonB() {
// }
// //不允许定义普通方法
// //普通方法
// public void dosth1(){};
//
//抽象方法
public void runB();
public void getNameB();
//在JDK1.8以后 通达信的接口,接口中允许定义默认方法 用default修饰
public default void dosth2() {
}
}
总结
通达信的接口,接口的所有方法都是抽象方法,通达信的接口,接口不能定义实例字段。一个类可以extends另一个类,一个类可以implements多个通达信的接口,接口。
文章为作者独立观点,不代表股票交易接口观点