接口的特点:
A:接口用关键字interface表示
interface 接口名 {}
B:类实现接口用 implements 表示
class 类名 implements 接口名 {}
C:接口不能实例化
那么,接口如何实例化呢?
按照多态的方式来实例化。
D:接口的子类
a:可以是抽象类。但是意义不大。
b:但是可以具体类。要重写结构中的所有抽象方法。(推荐方案)

由此可见:
A:具体类多态(几乎没有)
B:抽象类多态(常用)
C:接口多态(最常用)
//定义动物培训接口
interface AnimalTrain {
public abstract void jump(); //一个抽象方法
}
//抽象类实现接口
abstract class Dog implements AnimalTrain {}
//具体类实现接口
class Cat implements AnimalTrain {
public void jump() {
System.out.println("猫可以跳高了");
}
}
//测试类
class InterfaceDemo {
public static void main(String[] args) {
AnimalTrain at = new Cat();
at.jump(); //方法重写 输出子类jump
}
}

接口的特点:
A:接口用关键字interface表示
interface 接口名 {}
B:类实现接口用 implements 表示
class 类名 implements 接口名 {}
C:接口不能实例化
那么,接口如何实例化呢?
按照多态的方式来实例化。
D:接口的子类
a:可以是抽象类。但是意义不大。
b:但是可以具体类。要重写结构中的所有抽象方法。(推荐方案)

由此可见:
A:具体类多态(几乎没有)
B:抽象类多态(常用)
C:接口多态(最常用)

//定义动物培训接口
interface AnimalTrain {
public abstract void jump(); //一个抽象方法
}

//抽象类实现接口
abstract class Dog implements AnimalTrain {

}

//具体类实现接口
class Cat implements AnimalTrain {
public void jump() {
System.out.println("猫可以跳高了");
}
}

//测试类
class InterfaceDemo {
public static void main(String[] args) {
AnimalTrain at = new Cat();
at.jump(); //方法重写 输出子类jump
}
}

接口成员特点
成员变量:只能是常量,并且是静态的。
默认修饰符:public static final
建议:自己手动给出
构造方法:接口没有构造方法。
因为接口主要是扩展功能的,而没有具体存在。
成员方法:只能是抽象方法。
默认修饰符:public abstract // 默认公共最大权限 默认抽象 方法重写权限不能低于public
建议:自己手动给出

所有的类都默认继承自一个类:Object。
类 Object 是类层次结构的根类。每个类都使用 Object 作为超级类 //无继承的类默认继承Object

最新文章

  1. [LeetCode] Reverse Nodes in k-Group 每k个一组翻转链表
  2. 【MySQL】优化—工欲善其事,必先利其器之EXPLAIN
  3. js传递参数中包含+号时的处理方法
  4. 一件关于数据库日志log的无聊事情
  5. Web 在线文件管理器学习笔记与总结(2)显示文件列表(名称,类型,大小,可读,可写,可执行,创建时间,修改时间,访问时间)
  6. MongoDB创建用户
  7. HTTP分块传输
  8. 使用jsonEditor打造一个复杂json编辑器
  9. C# 三角形外心和外接圆半径计算方法
  10. OpenCV探索之路(二十三):特征检测和特征匹配方法汇总
  11. Spring4 快速入门
  12. Android命令之-------ADB命令大全
  13. ASP.net core 2.0.0 中 asp.net identity 2.0.0 的基本使用(二)—启用用户管理
  14. 错误:This function has none of DETERMINISTIC... 的解决
  15. tp3.2 URL_MODEL为2 配置
  16. nginx 错误502 upstream sent too big header while reading response header from upstream
  17. sqlserver数据类型转换
  18. 夺冠概率|2012年蓝桥杯B组题解析第九题-fishers
  19. skipper prometheus 监控
  20. Spark学习笔记-GraphX-1

热门文章

  1. 面试刷题30:SpringBean的生命周期?
  2. supervisor 的使用 (fastcgi管理)
  3. B [JLOI2012]树
  4. IO 流
  5. Zookeeper是如何实现分布式锁的
  6. web安全学习神器——DVWA安装部署
  7. DALI 48V驱动
  8. LeetCode | 力扣周赛C题 5370. 设计地铁系统
  9. 安装部署Tomcat服务器
  10. 本地代码上传到git仓库(github)