返璞归真之 抽象类和接口区别

抽象类:

1.抽象类必须声明标识关键字(abstract)

2.抽象类中的抽象属性和方法也得声明关键字

3.抽象类中可以有非抽象属性和方法,但子类无法重写;抽象方法没有方法体

4.抽象类中的属性和方法不可以用private修饰符;当然非抽象除外

5.子类继承抽象类后,抽象类中的方法必须实现,并且只可以继承一个抽象类,同时还可以继承接口,不可以继承类

6.子类中的自己写的方法,不可和父类(抽象类)中的方法名称相同

7.抽象类可以有构造函数

使用抽象类的好处有:

1.代码重用。继承类都能用抽象类定义的方法

2.灵活。某个继承类既可以继承改方法也可以派生一个新的

3.最小集合。抽象类是所有继承类通用方法的最小集合,可以封装某一个继承类的实例用来进行传递

接口:

1.接口中没有访问修饰符和方法体

2.子类可以继承多个接口,但必须全部实现

3.接口不能实例化,没有构造函数

sealed 密封, 以上2种都不可以使用sealed 进行修饰

以上内容,如有问题,欢迎大家多多指教,一起进步。

That‘s it. Now, the more you sweat here, the less you‘ll bleed in battle. 就是这样!现在付出的汗水越多,战场上流的血就越少

原文地址:https://www.cnblogs.com/feisuccess/p/9639652.html

时间: 2024-11-04 14:27:28

返璞归真之 抽象类和接口区别的相关文章

抽象类,接口区别

抽象类:                                                                                                  接口: 定义:包含一个抽象方法的类                                                                               抽象方法和全局常量 组成:构造方法,抽象方法,普通方法,常量,变量                   

抽象类和接口区别

简述抽象类和接口区别 ①    Abstract修饰符:抽象类不能省略:接口省略 ②    子类和实现类:抽象类的子类继承抽象类,单继承:接口的实现类实现接口,多实现: ③    继承:抽象类单继承:接口多继承 ④    变量和方法:除抽象方法外,有成员变量和普通方法:接口只有抽象方法和静态常量 ⑤    复用:抽象类实现代码的复用:接口不能实现代码的复用 原文地址:https://www.cnblogs.com/qq1335210739/p/10210761.html

java抽象类和接口区别

深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然.今天我们就一起来学习一下Java中的接口和抽象类.下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有具体的实现.抽象方法的声明格式为:

普通类、抽象类和接口区别:

1.普通类可以实例化,接口都不能被实例化(它没有构造方法),抽象类如果要实例化,抽象类必须指向实现所有抽象方法的子类对象(抽象类可以直接实例化,直接重写自己的抽象方法),接口必须指向实现所有所有接口方法的类对象. 2.抽象类要被子类继承,接口要被子类实现. 3.接口只能做方法的声明,抽象类可以做方法的声明,也可以做方法的实现. 4.接口里定义的变量只能是公共的静态常量,抽象类中定义的变量是普通变量. 5.抽象类里的抽象方法必须全部被子类所实现,如果子类不能全部实现父类的抽象方法,那么该子类只能是

抽象类与接口区别

接口:存在的意义在于解耦,增强代码的可拓展性,可维护性. 抽象类:常用于充当公共角色,用于被其子类继承,子类继承其实现的方法,去重写其抽象的方法.继承更倾向于对类的完善. 举个栗子: 接口:小明是i西科的码手,某日李师兄分配了任务,要求他写一个类,用于封装教务处爬虫代码,代码会被引用于tsm类(第三方授权平台管理类)中,于是小明就开始写,写了很多代码,但是代码混乱,如果再想加入新的东西,简直太难了.第二天师兄来了实验室,告诉小明把实验课爬虫也加进这个类中.这可苦坏了小明,因为在tsm类中,直接引

Java抽象类与接口区别

这篇文章讲的很好: http://www.importnew.com/12399.html

java中抽象类和接口的用法和区别

一.抽象类 1.抽象类 包含一个抽象方法的类就是抽象类 2.抽象方法 声明而未被实现的方法,抽象方法必须使用abstract关键词字声明 public abstract class People { //关键词abstract,声明该类为抽象类 public int age; public void Num() { } public abstract Name(); //声明该方法为抽象方法 } 3.抽象类被子类继承,子类(如果不是抽象类)必须重写抽象类中的所有抽象方法 4.抽象类不能被直接实例

2.35 Java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别

java基础总结①抽象②接口③设计抽象类和接口的原则④接口和抽象类的区别 一.抽象 abstract作用:不能产生对象,充当父类,强制子类正确实现重写方法和类相比仅有的改变是不能产生对象,其他的都有,包括构造.属性等等任何一个类只要有一个抽象的方法就成了抽象类 抽象方法 public abstract A();①方法是抽象的,这个类也是抽象的:②子类必须重写抽象方法,除非子类也是抽象类 抽象类可以没有抽象方法,但一般不这么设计 二.接口 interface 接口也是Java的一种引用数据类型(J

抽象类和接口的区别

含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象.含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的.abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法.如果的子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为abstract类型. 接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须