JDK1.8之前接口内容

【1】接口声明格式:

[访问修饰符] interface 接口名[extends 父接口1,父接口2...]{

    常量定义;

    方法定义;

}

【2】代码

复制代码
 1 package com.msb4;
 2 
 3 import jdk.swing.interop.SwingInterOpUtils;
 4 
 5 /**
 6  * @Auther:liu
 7  * @Date:-14:30:31
 8  * @Description:IntelliJ IDEA
 9  * @Version:1.0
10  */
11 /*
12 * 1、类是类,接口是接口,他们是同一层次的概念
13 * 2、接口中没有构造器
14 * 3、接口如何声明:interface
15 * 4、在JDK1.8之前,接口中只有两部分内容:
16 * (1)、常量:固定的修饰符pubilc static final
17 * (2)、抽象方法:固定修饰符:public abstract
18 * 修饰符可以省略不写,IDE会帮你自动补全,但是初学者建议写上,防止遗忘。
19 * */
20 public interface TestInterface01 {
21     //常量:
22     public static final  int NUM=10;
23     //抽象方法:
24     public abstract void a();
25     public abstract void b(int num);
26     public abstract int c(String name);
27 }
28 interface  TestInterface02{
29     public abstract void d();
30     public abstract void e();
31 
32 }
33 /*
34 * 5、类和接口关系是什么?实现关系   类实现接口
35 * 6、一旦实现一个接口,那么实现类要重写接口中全部的抽象方法:
36 * 7、如果没有全部重写抽象方法,那么这个类可以变成一个抽象类
37 * 8、java只有单继承,java还有多实现
38 * 一个类继承其他类,只能直接继承一个父类
39 * 但是实现类实现接口的话,可以实现多个接口
40 * 9、先继承  再实现class Student extends Person implements TestInterface01,TestInterface02
41 * */
42 
43 class Student extends Person implements TestInterface01,TestInterface02{
44     @Override
45     public void a() {
46         System.out.println(1);
47     }
48 
49     @Override
50     public void b(int num) {
51         System.out.println(2);
52     }
53 
54     @Override
55     public int c(String name) {
56         return 3;
57     }
58 
59     @Override
60     public void d() {
61         System.out.println("ddd");
62     }
63 
64     @Override
65     public void e() {
66         System.out.println("eee");
67     }
68 }
69 
70 class Test{
71     //这是一个main方法:是程序的入口
72     public static void main(String[] args) {
73         //10、接口不能创建对象:
74         //TestInterface02 t = new TestInterface02();
75         TestInterface01 t=new Student();//接口指向实现类----》多态
76         //11、接口中常量如何访问:
77         System.out.println(TestInterface01.NUM);
78         System.out.println(Student.NUM);
79         System.out.println(t.NUM);
80         Student s=new Student();
81         System.out.println(s.NUM);
82         }
83     }
复制代码

【3】接口的作用是什么?

定义规则,跟抽象类不同的地方?他是接口不是类。

接口定义好规则之后,实现类负责实现即可。

【4】、

继承:子类对父类的继承

实现:实现类对接口的实现

手机 是不是 照相机

继承:手机extends照相机  “is ----a”的关系  ,手机是一个照相机

上面的写法不好:

实现:手机  implements  拍照功能   “has--a”的关系,手机具备照相的能力

案例:飞机,小鸟,风筝

定义一个接口:Flyable

【5】多态的应用场合:

(1)父类当做方法的形参,传入具体的子类的对象

(2)父类当做方法的返回值,返回的是具体的子类的对象

(3)接口当做方法的形参,传入具体的实现类的对象

(4)接口当做方法的返回值,返回的是具体的实现类的对象

【6】接口和抽象类的区别:

抽象类是一种对事物的抽象,而接口是一种对行为的抽象; 抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)进行抽象。 抽象类是一种模板式设计,而接口是一种行为规范,是一种辐射式设计。

 

posted @   爱的加勒比  阅读(32)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示