前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java中抽象类与接口的区别是什么?

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

作者头像
海拥
发布2021-08-23 15:28:31
4000
发布2021-08-23 15:28:31
举报
文章被收录于专栏:全栈技术

抽象类与接口的区别

1. 共同点

都可以包含抽象方法;

2. 区别
  • 抽象类是一种“类”,是使用class作为关键字来声明的;而接口是另一种数据,是使用interface作为关键字来声明的;
  • 抽象类中可以有各种权限不同、修饰符不同的属性,也可以包含普通方法、抽象方法,或者完全没有普通方法,或者完全没有抽象方法;而接口中的所有成员都是public的,所有属性都是staticfinal的,在JDK 1.8之前,所有的方法都是抽象的;
  • 普通的类与抽象类的关系是“继承”的关系,当普通的类继承了抽象类后,就有义务重写抽象类中的抽象方法,在Java语句中,类之间的继承是1对1的关系;普通的类与接口的关系是”实现“的关系,当普通的类实现了接口后,也有义务重写接口中的所有抽象方法,类与接口的实现关系是1对多的,即1个类可以同时实现若干个接口;接口与接口之间也可以存在继承关系,且是1对多的关系,即某1个接口可以同时继承若干个接口;
3. 使用心得 / 装

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

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

代码语言:javascript
复制
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常用快捷键

Ctrl + Shift + F

格式化代码(代码排版)

Ctrl + Shift + O

整理import语句(增加所必须的,删除不必要的)

Alt + 方向上/方向下

移动单行代码,操作之前需要将光标定位在那一行;移动若干行代码,操作之前需要先选中

Ctrl + Alt + 方向上/方向下

向上/向下复制若干行代码,操作模式与移动整行代码相同

Alt + Shift + R

在当前源文件中,对某个变量、方法重命名,操作之前需先选中整个名称

Ctrl + D

删除整行或若干行代码,操作模式与移动整行代码相同


未完,待续…

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/07/06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 抽象类与接口的区别
    • 1. 共同点
      • 2. 区别
        • 3. 使用心得 / 装
        • 附1:Eclipse常用快捷键
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档