Java基础_抽象类、接口

本文详细比较了Java中的抽象类与接口,包括抽象类的抽象方法、继承机制以及构造器,接口的常量、抽象方法类型(默认方法、静态方法等)、无构造器及不能创建对象的特点,以及Java的单继承与多实现规则。
摘要由CSDN通过智能技术生成

1、抽象类:abstract class

抽象类中定义抽象方法,为子类提供一个通用模板。子类需要在抽象类的基础之上进行开发,需要重写抽象类中的抽象方法,在进行自我的扩展。

一个抽象类中包含0~n个抽象方法。子类通过extends继承来获取父类的方法【包括非抽象方法、抽象方法】,重写所有的抽象方法、重写需要改写的非抽象方法、添加特有的方法。

抽象类不能创建对象,但是抽象类中存在构造器【作用:在子类初始化对象时需要super调用父类构造器】;不能使用final修饰【final修饰的类不能被继承】。

2、接口:interface

版本内容
JDK 8之前常量(public static final)、抽象方法(public abstract)
JDK 8常量、抽象方法;具有方法体普通方法(public default)【可以被重写,重写时不能加default】、静态方法(public static)【不能重写】
JDK 9常量、抽象方法、普通方法、静态方法、私有方法(private xxx)【供默认方法或静态方法调用】
public interface TestInterface {
    int CONSTANT = 10;// public static final 
    
    void abstractMethod();// public abstract 
    
    default void defaultMethod() {} // public 
    
    static void staticMethod(){} // public 
    
    private void commonPrivateMethod() {} // default ×
    
    private static void staticStaticMethod() {}
}

特点:

  • 类和接口是同一层次的概念;
  • 接口中没有构造器;
  • 接口不能创建对象【不能new出来,但是可以通过接口指向实现类】;
  • 接口方法实现方法回调。

Java只有单继承,也有多实现;先写继承再写实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值