首页 > 编程知识 正文

java抽象类例子,抽象类和接口的异同点

时间:2023-05-06 21:24:32 阅读:154951 作者:2536

抽象类抽象类是一个特殊的类,使用abstract定义。 abstract定义可以包含可以在常规类中定义的任何属性和方法。 但是,抽象类包含普通类中没有的抽象方法

eg :例如,我们的现实生活中有一种叫做“语言”的方法。 他是相当抽象的种类。 那么,世界上能说语言的物种就有千千万,小猫叫“喵喵”,小狗叫“汪汪”,青蛙叫“咯咯”。 如果所有物种说话的内容都不一样,“说话”的方法就不能规定一个实例。 这需要每个子类实现自己的“说话”方式。

抽象类不能实例化。

抽象类与普通类的区别在于抽象方法越来越多而无法实例化。

如果某个类继承了抽象类,则这个普通类必须重写抽象类中的抽象方法。 so~抽象方法不能是pvivate权限的方法。

接口可以使用接口定义来理解接口,并表示规范或标准。

eg :例如,在现实的USB接口中,用它链接的设备可以是鼠标也可以是键盘,如果鼠标和键盘都是这两种类型的话,我们同时使用了USB接口这个规格。 因此,为了方便每个设备的使用,规定需要一个接口,它是一种允许所有设备链接的规范。

所有方法缺省为public abstract。

所有成员变量始终为公共静态文件。

接口也不需要实例化。

(子)类和接口关系:启用implements )接口。

可以通过一个类实现多个接口。

面试问题:抽象类和接口的区别1、抽象类和接口不能直接实例化。 要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,而接口变量必须指向实现所有接口方法的类对象。

2、抽象类被子类继承,接口必须在类中实现。

3、接口只能是方法欢喜的太阳。 在抽象类中既可以实现方法欢喜的太阳,也可以实现方法。

4、界面定义的变量仅为公共静态常数,抽象类变量为普通变量。

5、抽象类中的抽象方法都必须在子类中实现,如果子类不能全部实现父类的抽象方法,则该子类只能是抽象类。 同样,实现接口时,如果不能实现所有接口方法,则该类也只能是抽象类。

6、抽象方法只有高兴的太阳,无法实现。 接口是设计的结果,抽象类是重构的结果。

7、抽象类中可以没有抽象方法。

8、如果某个类有抽象方法,则该类只能是抽象类。

9、抽象方法实现,不能是静态的,不能是私有的。

10、接口可以继承接口,多继承接口,但类只能继承一个。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。