您的位置 首页 java

Java中抽象类与接口的区别是什么?

抽象类与接口的区别

1. 共同点

都可以包含抽象方法;

2. 区别

抽象类是一种“类”,是使用class作为关键字来声明的;而接口是另一种数据,是使用interface作为关键字来声明的;

抽象类中可以有各种权限不同、修饰符不同的属性,也可以包含普通方法、抽象方法,或者完全没有普通方法,或者完全没有抽象方法;而接口中的所有成员都是public的,所有属性都是static、final的,在JDK 1.8之前,所有的方法都是抽象的;

普通的类与抽象类的关系是“继承”的关系,当普通的类继承了抽象类后,就有义务重写抽象类中的抽象方法,在Java语句中,类之间的继承是1对1的关系;普通的类与接口的关系是”实现“的关系,当普通的类实现了接口后,也有义务重写接口中的所有抽象方法,类与接口的实现关系是1对多的,即1个类可以同时实现若干个接口;接口与接口之间也可以存在继承关系,且是1对多的关系,即某1个接口可以同时继承若干个接口;

3. 使用心得 / 装

类,是描述”类别“的;接口,是描述形为模式、行为特征、规范、标准的!

类与类之间是is a的关系;类与接口之间是has a的关系。

  public class Person { public String name; }
    public class Student extends Person {}
    public class Teacher extends Person {}
    public class Animal { }
    public class Cat extends Animal {}
    public interface 学习 { void 学习(某参数); }
    public interface 授课 {}
    public interface 驾驶 { void 驾驶(某参数); }
    public class Person implements 学习, 授课, 驾驶 {}
    Person 张三 = new Person();
    Person 李四 = new Person();   

附1:Eclipse常用快捷键

版权声明: 本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

文章来源:智云一二三科技

文章标题:Java中抽象类与接口的区别是什么?

文章地址:https://www.zhihuclub.com/182596.shtml

关于作者: 智云科技

热门文章

网站地图