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的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...
随机推荐
- .net fromwork连接rabbitmq发布消息
1.创建连接工厂类 var factory = new RabbitMQ.Client.ConnectionFactory() { HostName = "120.237.72.46&quo ...
- 做知识图谱遇到的环境问题合集【spacy、gensim、keras_contrib等】
1.python:spacy.gensim库的安装遇到问题及bug处理 见: python:spacy.gensim库的安装遇到问题及bug处理_汀.的博客-CSDN博客1.spacySpaCy最新版 ...
- 【五】AI Studio 项目详解【VisualDL工具、环境使用说明、脚本任务、图形化任务、(五)在线部署及预测】PARL
相关文章 [一]-环境配置+python入门教学 [二]-Parl基础命令 [三]-Notebook.&pdb.ipdb 调试 [四]-强化学习入门简介 [五]-Sarsa&Qlear ...
- Apache Typecho框架启用地址重写
地址重写有利于SEO优化,开启地址重写可以去掉Typecho框架中的index.php后缀,该后缀如下. 第一步,进到apache配置文件目录下cat /etc/httpd/conf/httpd.co ...
- 基于AQS实现自定义同步类
Mutex(互斥锁) Mutex是一个不可重入的互斥锁实现.锁资源(AQS里的state)只有两种状态:0表示未锁定,1表示锁定.下边是Mutex的核心源码: class Mutex implemen ...
- MD5算法:高效安全的数据完整性保障
摘要:在数字世界中,确保数据完整性和安全性至关重要.消息摘要算法就是一种用于实现这一目标的常用技术.其中,Message Digest Algorithm 5(MD5)算法因其高效性和安全性而受到广泛 ...
- CSS文本,字体设置与元素边框,阴影,显示模式
什么是元素的显示模式 网页中的标签很多,在不同的地方使用不同类型的标签. 元素显示模式就是标签以什么方式进行显示.如:div自己占一行,span一行可以放多个. HTML元素一般分为块元素和行内元素两 ...
- gitee 命令合集(从远程仓库拉取项目到推送项目到远程仓库)
1.配置用户的信息 git config --global user.name '你的用户名' git config --global user.email '你的邮箱' 2.初始化 Git 仓库,生 ...
- Java并发(七)----线程sleep、yield、线程优先级
1.sleep 与 yield sleep 调用 sleep 会让当前线程从 Running 进入 Timed Waiting 状态(阻塞) 其它线程可以使用 interrupt 方法打断正在睡眠的线 ...
- Linux-查看文本中第m行到n行的内容
如何查看文件第6749行到6758行? 方式一:使用sed命令 不显示行号:sed -n 'M,Np' fileName 例如:sed -n '6749,6758p' hive-default.x ...