Java interface 接口的使用 implements 实现----
1 package com.bytezreo.interfacetest;
2
3 /**
4 *
5 * @Description interface 接口的使用 implements 实现----
6 * @author Bytezero·zhenglei! Email:420498246@qq.com
7 * @version
8 * @date 下午4:14:17
9 * @ 1.接口的使用interface来定义
10 * 2.在Java 中,接口和类时并列的两个结构
11 * 3.如何定义接口:定义接口中的成员
12 *
13 * 3.1 JDK7以及以前:只能定义全局常量和抽象方法
14 * >全局常量:public static final的,但是书写时,可以省略
15 * >抽象方法:public abstract
16 *
17 * 3.2 JDK8:除了定义全局常量和抽象方法之外,还可以定义静态方法和默认方法
18 *
19 * 4.接口中不能定义构造器! 意味着 接口不可以实例化
20 *
21 * 5.java 开发中,接口通过让类去实现(implements)的方式来使用
22 * 如果实现类 覆盖了接口中的所有抽象方法,则此实现类就可以实例化
23 * 如果实现类 没有覆盖接口中所有的抽象方法,则此实现类仍为抽像类
24 *
25 *
26 * 6.Java 类可以实现多个接口 ---->弥补了 Java 单继承性的局限性
27 * 格式: class AA extends BB implements CC,DD,EE
28 *
29 * 7.接口与接口之间可以继承, 可以多继承
30 *
31 * ********************************************
32 *
33 * 8.接口的具体使用,体现多态性
34 *
35 * 9.接口,实际上可以看做时一种规范
36 *
37 * 抽象类与接口有哪些异同?
38 *
39 *
40 */
41 public class InterfaceTest {
42 public static void main(String[] args) {
43
44 System.out.println(Flyable.MAX_SPEED);
45 System.out.println(Flyable.MIN_SPEED);
46
47 //Flyable.MIN_SPEED = 2; //不能赋值
48
49 Plane plane = new Plane();
50 plane.fly();
51 }
52 }
53
54 //接口
55 interface Flyable{
56
57 //全局常量
58 public static final int MAX_SPEED = 7900; //第一宇宙速度
59 // public static final int MIN_SPEED = 1;
60
61 int MIN_SPEED = 1; //省略了 public static final
62
63 //抽象方法
64 public abstract void fly();
65
66 // public abstract void stop();
67
68 //省略了 public abstract
69 void stop();
70
71
72
73 }
74
75 //接口
76 interface Attackable{
77
78 void attack();
79 }
80
81
82 //实现类
83 class Plane implements Flyable{
84
85 @Override
86 public void fly() {
87 System.out.println("飞机通过引擎飞");
88
89 }
90
91 @Override
92 public void stop() {
93 System.out.println("驾驶员减速停止");
94
95 }
96
97 }
98
99 abstract class Kite implements Flyable{
100
101 //kite 不能实例化了
102 @Override
103 public void fly() {
104
105
106 }
107
108
109
110 }
111
112
113 class Bullet extends Object implements Flyable,Attackable,CC{
114
115 @Override
116 public void attack() {
117
118
119 }
120
121 @Override
122 public void fly() {
123
124
125 }
126
127 @Override
128 public void stop() {
129
130
131 }
132
133 @Override
134 public void method1() {
135 // TODO Auto-generated method stub
136
137 }
138
139 @Override
140 public void method2() {
141 // TODO Auto-generated method stub
142
143 }
144
145
146 }
147
148 //*************************************************
149
150 interface AA{
151
152 void method1();
153 }
154
155 interface BB{
156 void method2();
157 }
158
159
160 interface CC extends AA,BB{
161
162 }

Java interface 接口的使用 implements 实现----的更多相关文章
- java interface接口的传值方法
A 类 package interface_test; public class A { private IPresenter ip; public A(IPresenter ip) { this.i ...
- Java Interface接口
Java 中接口概念 接口可以理解为一种特殊的 类,由 全局常量 和 公共的抽象方法 所组成. 类是一种具体实现体,而接口定义了某一批类所需要遵循的规范,接口不关心这些类的内部数据, 也不关心这些类里 ...
- JAVA 构造器, extends[继承], implements[实现], Interface[接口], reflect[反射], clone[克隆], final, static, abstrac
记录一下: 构造器[构造函数]: 在java中如果用户编写类的时候没有提供构造函数,那么编译器会自动提供一个默认构造函数.它会把所有的实例字段设置为默认值:所有的数字变量初始化为0;所有的布尔变量设置 ...
- java 面向对象(二十四):interface:接口
interface:接口1.使用说明: 1.接口使用interface来定义 * 2.Java中,接口和类是并列的两个结构 * 3.如何定义接口:定义接口中的成员 * * 3.1 JDK7及以前:只能 ...
- Java面向对象之 接口: [修饰符] interface 接口名 {...};子接口:[修饰符] interface 接口名 extends 父接口,父接口2...{...}
1.什么是接口? 类比抽象类,把功能或者特性类似的一类 抽象的更彻底,可以提炼出更加特殊的"抽象类"----接口 2.如何定义接口 语法: [修饰符] interface 接口名 ...
- java中什么是Interface接口, 请给个实例!
1.Interface接口的定义和用法 先直接上大白话:马克-to-win:接口就是灰常灰常抽象的抽象类,我们可以就像用抽象类一样用接口,只不过,interface抽象到不能再抽象了,以至于里面不能 ...
- android 学习随笔二十七(JNI:Java Native Interface,JAVA原生接口 )
JNI(Java Native Interface,JAVA原生接口) 使用JNI可以使Java代码和其他语言写的代码(如C/C++代码)进行交互. 问:为什么要进行交互? 首先,Java语言提供的类 ...
- Java abstract 抽象类 和interface接口的异同点
abstract 抽象类 和interface接口的异同点 相同点: 抽象类和接口都不能实例化,他们都位于继承树顶端,被其他类实现和继承 都可以包含抽象方法,实现接口或者继承抽象类的非抽象类(普通类) ...
- (转)深入理解Java的接口和抽象类
原文地址: http://www.cnblogs.com/dolphin0520/p/3811437.html 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP ...
- 深入理解Java的接口和抽象类(转)
深入理解Java的接口和抽象类 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...
随机推荐
- 🛠 开源即时通讯(IM)项目OpenIM源码部署指南
OpenIM的部署涉及多个组件,并支持多种方式,包括源码.Docker和Kubernetes等.这要求在确保不同部署方式之间的兼容性同时,还需有效管理各版本之间的差异.确实,这些都是复杂的问题,涉及到 ...
- Spring源码之XML文件中Bean标签的解析2
读取XML文件,创建默认bean标签对象的核心代码 在DefaultBeanDefinitionDocumentReader类中的如下方法中: protected void processBeanDe ...
- 手撕Vuex-添加全局$store
经过上一篇的介绍,了解到了 Vuex 的实现本质就是一个插件,所以要做的事情就是实现这个插件的代码编写即可. 本篇文章主要是实现一个全局的 $store,这个 $store 是挂载在 Vue 的原型上 ...
- 【C++深度剖析】为什么C++支持函数重载而C不支持--C++程序编译链接过程--符号表生成规则【Linux环境超详细解释C++函数重载底层原理】
文章目录 前言 Linux环境g++编译器的配置以及一些准备工作 源文件的符号表生成以及分析 尾声 前言 先赞后看好习惯 打字不容易,这都是很用心做的,希望得到支持你 大家的点赞和支持对于我来说是一种 ...
- Java 如何在日志中优雅的打印 Exception
一.使用 log 库打印 使用 log 库如 slf4j @Slf4j public class MyDemo { public void demo() { try { int a = 10 / 0; ...
- 《ASP.ENT Core 与 RESTful API 开发实战》-- 读书笔记(第1章)
第 1 章 REST 简介 1.1 API 与 REST API 是一个系统向外暴露或公开的一套接口,通过这些接口,外部应用程序能够访问该系统 REST 是一种基于资源的架构风格,任何能够命名的对象都 ...
- Java-将Oracle中某个表的数据导出成数据文件
在做数据开发或者ETL工作中,经常会遇到需要在客户端将Oracle数据库中的某些表的数据导出,提供给其他人员使用的情况. 下面介绍我之前实施的一种方法:(该方法不是最好的办法,但是可以勉强使 ...
- JS Leetcode 80. 删除有序数组中的重复项 II题解,常规解法与快慢双指针做法
壹 ❀ 引 今天的题目来自LeetCode80. 删除有序数组中的重复项 II,是一道难度中等,但实际挺简单的一道题,题目描述如下: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每 ...
- Lora 模块E22-400T22D(SX1268, 22dBm)
无线串口(UART)模块, 基于SEMTECH SX1268射频芯片, 具有多种传输方式, 工作在410.125至493.125MHz频段(默认 433.125MHz). LoRa扩频技术, TTL电 ...
- 【framework】RootWindowContainer简介
1 前言 RootWindowContainer 是窗口容器的根容器,子容器是 DisplayContent.关于其父类及祖父类的介绍,见→WindowContainer简介.Configurat ...