抽象类和接口类

╰半夏微凉° 2024-03-26 11:49 238阅读 0赞

一、抽象类和接口的定义:

抽象类(abstract class):

使用abstract修饰符修饰的类。

实际点来说,一个抽象类不能实例化,因为“没有包含足够多的信息来描述一个具体的对象”。但仍然拥有普通类一样的定义。依然可以在类的实体(直白点就是能在{}里面)定义成员变量,成员方法,构造方法等。

抽象方法:只声明,不实现。

具体的实现由继承它的子类来实现。实际点就是:被abstract修饰的方法,只有方法名没有方法实现,具体的实现要由子类实现。

方法名后面直接跟一个分号,而不是花括号。例如:public abstract int A();

一个类中含有抽象方法(被abstract修饰),那么这个类必须被声明为抽象类(被abstract修饰)

二、接口(interface):

定义:接口在java中是一个抽象类型,是抽象方法的集合。一个类通过继承接口的方式,从而继承接口的抽象方法。

从定义上看,接口是个集合,并不是类。类描述了属性和方法,而接口只包含方法(未实现的方法)。

接口和抽象类一样不能被实例化,因为不是类。但是接口可以被实现(使用 implements 关键字)。

实现某个接口的类必须在类中实现该接口的全部方法。虽然接口内的方法都是抽象的(和抽象方法很像,没有实现)但是不需要abstract关键字。

接口中没有构造方式(因为接口不是类)

接口中的方法必须是抽象的(不能实现)

接口中除了static、final变量,不能有其他变量

接口支持多继承(一个类可以实现多个接口)

三、可使用的修饰符:

(1)抽象方法可以有public、protected和default这些修饰符

抽象类的目的就是被继承,抽象方法就是为了被重写,所以肯定不能用private修饰符,肯定是可以用public的。但是protected和default也是可以的。

(2)接口方法默认修饰符是public。你不可以使用其它修饰符。

接口就有且只有一个public修饰。(感觉抽象类像小儿子各种耍无赖,接口就像私生子,说什么只能是什么)

总的来说,因为java中抽象类只有单继承,接口就可以实现多继承。

发表评论

表情:
评论列表 (有 0 条评论,238人围观)

还没有评论,来说两句吧...

相关阅读

    相关 抽象接口

    一、抽象类和接口的定义: 抽象类(abstract class): 使用abstract修饰符修饰的类。 实际点来说,一个抽象类不能实例化,因为“没有包含足够多的信息来描

    相关 抽象接口

    转自牛客网 题目![题目][Center] 1、抽象类中的抽象方法(其前有abstract修饰)不能用private、static、synchronized、n

    相关 抽象接口

    一、抽象类 1、基本概念 在Java语言中,使用关键字abstract来修饰的类称之为抽象类。抽象类的功能是将子类可能具有的共同功能(类成员方法)和属性(类成员属性

    相关 抽象接口

    抽象类和接口 一、抽象类的特点         \ a:抽象类和抽象方法必须用abstract关键字修饰                 \ abstract

    相关 接口抽象

    接口就是一份契约,方法名,返回值,抛出的异常你都得按照我的来。 抽象类包含一组具体的特征,比如某些品牌特定型号的汽车,底盘,控制电路,刹车系统等是抽象出来的特征,是一样的,但

    相关 抽象接口

    1.抽象类 包含抽象方法的类必须声明为抽象类,但抽象类可以不包含任何抽象方法 抽象类是不可以被实例化的 2.接口 接口中所有的方法都是抽象的 接口中定义的方法默认使用

    相关 接口抽象

    接口和抽象类的区别,实不相瞒,我忘记了? > 在Java基础部分,接口和抽象类是相当重要的知识点,尤其是接口,在后面的开发中,经常会见到这么四个字“面向接口编程",而且对