Java基础---接口的使用

 2023-09-09 阅读 20 评论 0

摘要:接口 接口:是一个特殊的抽象类,规定了接口的使用者和接口的实现者之间的规范 定义:interface 接口名 {} 特点:接口中定义的属性都是公开静态常量(即使不加修饰符,也默认是public static final)接口中定义的方法都是公开抽象

接口

接口:是一个特殊的抽象类,规定了接口的使用者和接口的实现者之间的规范
定义:interface 接口名 {}
特点:接口中定义的属性都是公开静态常量(即使不加修饰符,也默认是public static final)接口中定义的方法都是公开抽象方法(即使不加修饰符,也默认是public abstract)接口中没有构造方法,接口中无法定义成员边来那个,所以不需要构造方法给成员变量进行初始化赋值接口不能创建对象,但是可以声明引用     

接口的实现类

语法:
class 类名 implements 接口 {}
定义实现类,实现接口,类创建对象,对象调用方法
特点:如果这个实现类不想成为一个抽象类,那么必须实现接口中所有的方法(公开抽象方法)
package com.HomeWork;public class Test {public static void main(String[] args) {//创建Audi车对象a,调用跑方法Audi a = new Audi();a.run();//创建SmartAudi车对象sa,调用跑,自动泊车,自动驾驶方法SmartAudi sa = new SmartAudi();sa.run();sa.automaticDrive();sa.automaticParking();//定义Audi类型的变量 aa 把sa赋值aa,aa只能调用run方法Audi aa = sa;aa.run();//aa向下转型为saaSmartAudi saa = (SmartAudi) aa;//调用自动泊车和自动驾驶方法saa.automaticDrive();saa.automaticParking();//定义Smart类型的变量s,把sa赋值给s,测试只能调用自动泊车和自动驾驶方法,不能调用run方法Smart s = sa;s.automaticDrive();s.automaticParking();	}
}//父类
class Audi {public void run() {System.out.println("奥迪车在跑");}
}//接口
interface Smart {void automaticParking();void automaticDrive();
}//继承+实现类
class SmartAudi extends Audi implements Smart {@Overridepublic void automaticParking() {System.out.println("智能奥迪车在自动泊车");}@Overridepublic void automaticDrive() {System.out.println("智能奥迪车在无人驾驶");}}

类与类,类与接口,接口与接口的关系

在java的设计思想中,把主要的角色设置为父类(单继承),次要的角色设置为接口(多实现)
类与类:继承关系(extends),一个类只有一个直接父类,为单继承,可以多级继承。
接口与接口:可以单继承;也多继承,一个接口可以有多个直接的父类接口;也可以多级继承。
类与接口:实现关系(implements),一个类可以实现多个接口格式:class 类名 implements 接口1,接口2,接口3...{需要重写所有接口中的方法!!!}类继承一个类,同时实现多个接口的时候,先继承,后实现。
类与接口的区别:抽象类:定义物体本身固有的属性和行为接口:定义物体通过学习、训练而扩展出来的行为

电脑USB案列

package com.ujiuye.demos;public class Demo_13 {
//电脑USB案例/*定义个电脑(computer)类型,要求有开机(turnOn)关机(turnOff),玩游戏(playGame),看小电影(lookMoive),并且能够使用指定的外接设备,键盘keyboard 鼠标mouse在测试类中,创建电脑对象,调用开机等功能,并接入外接设备,调用外接设备中的功能,最后关机*/public static void main(String[] args) {Computer com = new Computer();com.turnOn();
//		创建鼠标对象Mouse m = new Mouse();com.useUSB(m);
//		创建一个键盘录入对象Keyboard key = new Keyboard();com.useUSB(key);com.playGame();com.lookMovie();com.turnOff();}
}//定义一个电脑类
class Computer {
//	开机方法public void turnOn() {System.out.println("开机");}//	关机方法public void turnOff() {System.out.println("关机");}//	玩游戏public void playGame() {System.out.println("打游戏");}//	看电影public void lookMovie() {System.out.println("看电影");}//	使用USB将外接设备接入电脑public void useUSB(USB u) {u.joinUSB();}
}interface USB {public void joinUSB();
}//定义出来鼠标类
class Mouse implements USB {@Overridepublic void joinUSB() {System.out.println("鼠标接入电脑");}
}//定义一个键盘类
class Keyboard implements USB {@Overridepublic void joinUSB() {System.out.println("键盘接入电脑");}
}

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/31085.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息