随笔 - 322  文章 - 0  评论 - 4  阅读 - 77146

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  }
复制代码

 

posted on   Bytezero!  阅读(200)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示