java抽象类及接口

Posted 桃小夭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java抽象类及接口相关的知识,希望对你有一定的参考价值。

Java抽象类:

抽象类特点:抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。

由于抽象类不能实例化对象,所以抽象类必须被extends [抽象类]方式 继承才能被使用。

抽象类表示的是一种继承关系。

(总结就是:抽象类里面设计跟普通类一样,但就是不能用来实例化对象,所以需要被继承类 extends [抽象类] 继承来使用)

创建方式:

public abstract class a{
    ......可以是有变量方法还有构造方法等等.....
}

//继承
public class b extends a{
    
}

java接口:

接口特点:接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。 类描述对象的属性和方法。接口则包含类要实现的方法。 (通常在我们要定义某些行为(即方法)的时候考虑才去定义接口)。接口支持多继承。

接口无法被实例化,但是可以被 implements [接口] 方式来实现。

接口中所有的方法必须是抽象方法(因为接口及其方法都是隐式的,所以abstract可以省略)。

接口的实现类必须实现接口内所有方法,否则就必须声明为抽象类。(参数名还有方法返回类型不可更改)。

接口没有构造方法。

(总结:接口不是类只是写法像而已,它的方法都为抽象方法,方法里面不能写具体内容,必须在implements [接口] 后实现接口内所有方法,且方法类型和参数都不能更改)

创建方式:

interface a extends [其他的接口名] {
        // 声明变量
        // 抽象方法
}
public class b implements [c,d...]{
    //每个抽象方法的实现
}
//当然如果要使用到接口里的常量直接 接口.变量名 就可以取值了,因为接口里的变量只能是常量嘛

抽象类和接口的区别:

    1. 抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
    1. 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的。
    1. 接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
    1. 一个类只能继承一个抽象类,而一个类却可以实现多个接口。

以上是关于java抽象类及接口的主要内容,如果未能解决你的问题,请参考以下文章

猿创征文 | Java进阶详解抽象类及常用接口

16-抽象类及接口

快速上手kotlin接口抽象类及泛型

快速上手kotlin接口抽象类及泛型

抽象类及接口详解

常见类及接口