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的抽象:接口和抽象类.这两者有太多相似的地方,又有太多不同的地方.很多人在初学的 ...
随机推荐
- golang: 模仿 VictoriaMetrics 中的做法,通过把局部变量放在自定义 Context 对象中来做到hot path 的 0 alloc
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 使用 benchmark 压测过程中通常会出现这样的信息: ...
- 【k哥爬虫普法】Python程序员爬取视频资源13万部,一分钱没挣,获刑2年!
我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了"K哥爬虫普法"专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识, ...
- 【JS 逆向百例】webpack 改写实战,G 某游戏 RSA 加密
关注微信公众号:K哥爬虫,QQ交流群:808574309,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途 ...
- 什么是ChatGPT,什么是大模型prompt
什么是ChatGpt ChatGPT是一个由美国的OpenAI公司开发的聊天机器人,它使用了大型语言模型,现在有GPT-3.GPT-3.5.GPT-4.0多个版本,目前还在快速发展,通过监督学习和强化 ...
- Fabric网络升级(二)
原文来自这里. 如果想了解最新版Fabric的特殊事项,详见Upgrading to the latest release of Fabric. 本章只介绍更新Fabric组件的操作.关于如何通过编辑 ...
- P9779_[HUSTFC 2023] 不定项选择题_题解
rt 题目 有一道共 n 个选项的不定项选择题,它的答案至少包含一个选项,由于题目与选项的内容晦涩难懂,你打算通过尝试每一种可能的答案来通过这道题. 初始时所有选项都没有被勾选,你可以执行任意次下述操 ...
- ShardingSphere
目录 1.ShardingSphere分表与分库分表 2.ShardingSphere分库分表查询 3.自定义分片算法实现range查询 4.SPI扩展机制概述 5.stand通过SPI实现range ...
- GaussDB(for MySQL)剪枝功能,让查询性能提升70倍!
作者,祝青平,华为云数据库内核高级工程师.擅长数据库优化器内核研发,9年数据库内核研发经验,参与多个TP以及AP数据库的研发工作. 近日,华为云数据库社区下面有这样一条用户提问留言:请问,如何通过My ...
- SqlSugar基础查询
查所有 List<Student> list=db.Queryable<Student>().ToList() //select * from Student 查询总数 int ...
- 使用C++实现Range序列生成器
在C++编程中,经常需要迭代一系列数字或其他可迭代对象.通常,这需要编写复杂的循环结构,但有一种精妙的方法可以使这一过程变得更加简单和可读.如果你使用过Python语言那么一定对Range语句非常的数 ...