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