Java 接口练习
练习一
1定义一个接口Moveable(可移动的),在接口中实现一个抽象方法:
public interface Moveable {
void move();
}
2创建多个类实现接口:
Car类在move()方法中,打印输出“汽车在公路上行驶”
Ship类在move()方法中,打印输出“轮船在水面上航行”
Aircraft类在move()方法中,打印输出“飞机在天空中飞行”
Car类5
public class Car implements Moveable{
public void move(){
System.out.println("汽车在公路上行驶");
}
}
Ship类
public class Ship implements Moveable{
public void move(){
System.out.println("轮船在水面上航行");
}
}
Aircraft类
public class Aircraft implements Moveable{
public void move(){
System.out.println("飞机在天空中飞行");
}
}
3编写主类,在main方法中:
创建3个Moveable类型的接口变量,分别引用Car、Ship、Aircraft类的对象。调用每个对象的move() 方法,观察输出结果
public class Main {
public static void main(String[] args) {
Car car = new Car();
car.move();
Ship ship = new Ship();
ship.move();
Aircraft aircraft = new Aircraft();
aircraft.move();
}
}
结果
汽车在公路上行驶
轮船在水面上航行
飞机在天空中飞行
练习二
定义三个接口,分别表示具备吃的能力、喝的能力和睡的能力。
接口1:EatAbility,包含一个方法 eat(),表示吃的能力。
public interface EatAbility {
void eat();
}
接口2:DrinkAbility,包含一个方法 drink(),表示喝的能力。
public interface DrinkAbility {
void drink();
}
接口3:SleepAbility,包含一个方法 sleep(),表示睡的能力。
public interface SleepAbility {
void sleep();
}
定义一个 Person 类,实现上述三个接口。
Person 类需要提供这三个方法的具体实现,方法内输出相应的提示信息,例如“人正在吃东西...”。
public class Person implements EatAbility,DrinkAbility,SleepAbility{
public void eat(){
System.out.println("人正在吃东西");
}
public void drink(){
System.out.println("人正在喝水");
}
public void sleep(){
System.out.println("人正在睡觉");
}
}
编写Test类,在main方法中:
创建一个Person类对象。
使用3个接口类型的变量来引用该Person类对象。
调用接口变量对应的方法,验证Person类对象具备的3种能力。
public class Test {
public static void main(String[] args) {
Person person = new Person();
person.eat();
person.drink();
person.sleep();
}
}
结果
人正在吃东西
人正在喝水
人正在睡觉
练习三
请创建一个Animal动物类,要求有方法eat()方法,方法输出一条语句“吃东西”。创建一个接口AnimalInfo,接口里有一个抽象方法fly()。创建一个Bird类继承Animal类并实现接口AnimalInfo里的方法输出一条有语句“鸟儿飞翔”,重写父类的eat() 方法输出一条语句“鸟儿吃虫”。
Animal类(父类)
public class Animal {
public void eat(){
System.out.println("..");
}
}
AnimalInfo接口
public interface AnimalInfo {
void fly();
}
Bird类
public class Bird extends Animal implements AnimalInfo{
public void fly() {
System.out.println("鸟儿飞翔");
}
public void eat(){
System.out.println("鸟儿吃虫");
}
}
创建Test类并添加main方法,在main方法中添加如下功能
(1)创建Animal类的对象并调用eat( )方法;
(2)使用父类引用Bird类的对象,并调用eat( )方法;
(3)使用接口引用Bird类的对象,并调用fly( )方法;
(4)使用Bird类引用Bird类的对象,调用eat( )方法和fly( )方法。
public class Test {
public static void main(String[] args) {
Animal animal = new Animal();
animal.eat();
Animal bird1 = new Bird();
bird1.eat();
AnimalInfo bird2 = new Bird();
bird2.fly();
Bird bird3 = new Bird();
bird3.eat();
bird3.fly();
}
}
结果
..
鸟儿吃虫
鸟儿飞翔
鸟儿吃虫
鸟儿飞翔

浙公网安备 33010602011771号