1、已知电脑有三个USB接口,分别去实例化一个鼠标,一个键盘,一个U盘来连接到电脑上。 输出每一个USB接口连接的设备信息 。
思路:这道题首先里面面向对象的思想,键盘、鼠标、U盘都有共同的USB,此USB是用来连接电脑、提示这是什么个什么东西,若是将它们共同的功能抽取出来就可以形成一个父类,而父类只有一个方法,但父类却不能写这是鼠标、键盘还什么什么,只能利用多态,而父类的方法不需要实现,因为父类实现了方法,对了子类也用不着父类的功能,干脆就定义为抽象的方法,从而变成了接口。注意:接口是一个规则,通过USB连接电脑必须遵循这个规则(这样更好理解)
package task; public class BigData01 { public static void main(String[] args) { USB usb = new Mounse(); USB usb1 = new KeyBroad(); USB usb2 = new UPan(); Computer computer = new Computer(usb, usb1, usb2); computer.showUSB(); } } interface USB{ public String getInfo(); } class Mounse implements USB{ @Override public String getInfo() { return "鼠标"; } } class KeyBroad implements USB{ @Override public String getInfo() { return "键盘"; } } class UPan implements USB{ @Override public String getInfo() { return "U盘"; } } class Computer { public USB usb; public USB usb1; public USB usb2; public Computer(USB usb, USB usb1, USB usb2) { this.usb = usb; this.usb1 = usb1; this.usb2 = usb2; } public void showUSB(){ System.out.println(usb.getInfo()); System.out.println(usb1.getInfo()); System.out.println(usb2.getInfo()); } }
注意:接口是抽象的,不能用来实例化对象,只能通过实现接口的子类来实例化对象,因而在main函数中借助多态来实现函数的功能。此处还有说一下,接口的实现方式:直接通过子类实现、使用匿名内部类、lambda表达式(更简单)。
1、设计一个家政服务规范(接口): 洗衣服, 扫地, 买菜, 做饭
设计一个保姆类, 保姆需要遵循这些规范
需求:在测试类中,实例化一个保姆的对象,然后让保姆买菜,做饭,扫地 。
package task; public class BigData02 { public static void main(String[] args) { Nanny nanny = new Nanny(); nanny.buy();; nanny.clean(); nanny.cook(); nanny.wash(); } } interface HouseKeeping{ public abstract void wash(); public abstract void clean(); public abstract void buy(); public abstract void cook(); } class Nanny implements HouseKeeping{ @Override public void wash() { System.out.println("保姆洗衣服"); } @Override public void clean() { System.out.println("保姆扫地"); } @Override public void buy() { System.out.println("保姆买菜"); } @Override public void cook() { System.out.println("保姆做饭"); } }
NOTE:此题没什么可说的,就是考察的接口 和 多态。
3.设计一个动物类,属性: 姓名,性别
设计一个猫类,设计一个狗类, 猫和狗都继承自动物类
需求:在测试类中设计一个方法,这个方法需要一个参数,参数的类型可以是猫类,也可以是狗类 -->多态(动物类 )
在方法体内,将传入的猫或者狗的属性输出即可 输出到底是猫还是狗
package task; public class BigData03 { public static void main(String[] args) { Dog dog = new Dog(); Cat cat = new Cat(); show(dog); show(cat); } public static void show(Animal animal){ if (animal instanceof Dog){ System.out.println("狗的属性:"); System.out.println(animal.name); System.out.println(animal.sex); } if (animal instanceof Cat){ System.out.println("狗的属性:"); System.out.println(animal.name); System.out.println(animal.sex); } } } class Animal{ public String name; public char sex; } class Cat extends Animal{} class Dog extends Animal{}
4.设计一个数据传输接口:Type-C标准
设计一个防水的接口:防水
设计一个手机类,实现这个数据传输接口,采用Type-C;同时实现了防水的接口
package task; public class BigData04 { public static void main(String[] args) { Phone phone = new Phone(); } } interface TypeC{ } interface ProtectedFormWater{ } class Phone implements TypeC,ProtectedFormWater{ }
Note:其实就是考察实现多个接口