温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

接口和抽象类的区别

发布时间:2020-08-12 23:50:16 来源:网络 阅读:413 作者:熊熊爬楼梯 栏目:编程语言

我们先看下抽象类的由来,抽象类是将具有类似特点的事物相同部分进行抽取而来的,他的目的是提供继承:
例如:
程序员:
属性:姓名、薪水
方法:工作

经理:
属性:姓名、薪水、奖金
方法:工作

程序员和经理有共同的属性:姓名,薪水,有共同的方法工作,将他们这些共性的部分抽取出来就可以形成抽象类 员工。在这个例子中员工本身是没有意义的他的意义就在于可以作为程序员和经理的父类,提供继承。而员工这个类我们可以把它定义为抽象类。
abstract class Employee{
public String name;
public double pay;
public abstract void work();
}
程序员继承员工类:
class Programmer extends Employee{
public void work(){
System.out.println("codeing....");
}
}
经理也继承员工类:
class Manage extends Employee{
public int bouns;
public void work(){
System.out.println("manage");
}
}
关于抽象类有一些需要注意的地方:

  1. 有抽象方法的类必须是抽象类。
  2. 抽象类中可以有非抽象方法
  3. 继承了抽象类的类必须实现该抽象类的所有抽象方法,否则它也是一个抽象类。

接口是一种特殊的抽象类,在接口中所有的方法都是抽象方法。它比抽象类提供了更高的抽象。接口一般是用来定义一组规范,比如我们常说的usb接口就是一种电脑外设的规范,不管是鼠标还是键盘还是u盘,只要符合这个规范的外设都可以插入这个接口。
使用usb接口可以降低鼠标键盘这些外设和笔记本电脑的耦合性。
interface USB
{
public void open();
}

Class Mouse implements USB{
Public void open(){
System.out.println(“鼠标开始工作!”);
}
}

Class KeyBoard implements USB{
Public void open(){
System.out.println(“键盘开始工作”);
}
}
接口和抽象类之间的区别在于他们的目的不同,抽象类是为了提供继承,而接口是为了提供一种规范,目的是为了降低耦合,接口比抽象类抽象程度更高。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI