接口—飞

按要求编写一个Java应用程序程序:

(1)定义一个接口CanFly,描述会飞的方法public void fly();

(2)分别定义类飞机和鸟,实现CanFly接口。

(3)定义一个测试类,测试飞机和鸟,在main方法中创建飞机对象和鸟对象,再定义一个makeFly()方法,其中让会飞的事物飞。并在main方法中调用该方法,让飞机和鸟起飞。

1 public interface CanFly {
2
3     public void fly();
4 }
1 public class airplane implements CanFly{
2
3     @Override
4     public void fly(){
5         System.out.println("我是飞机");
6     }
7 }
1 public class Bird implements CanFly {
2
3     @Override
4     public void fly() {
5         System.out.println("我是鸟  ");
6
7     }
8
9 }
 1 public class Text {
 2     void makeFly(CanFly f) {
 3         f.fly();
 4         System.out.println("可以起飞");
 5     }
 6
 7     public static void main(String[] args) {
 8         Text aa = new Text();
 9         airplane a = new airplane();
10         aa.makeFly(a);
11
12         Bird b = new Bird();
13         aa.makeFly(b);
14
15     }
16
17 }

结果:

时间: 2024-11-03 01:26:26

接口—飞的相关文章

C#中接口和抽象类的区别

什么是接口? 用来定义一种程序的协定.实现接口的类或者结构要与接口的定义严格一致.有了这个协定,就可以抛开编程语言的限制(理论上).C#接口可以从多个基接口继承,而类或结构可以实现多个接口.C#接口可以包含方法.属性.事件和索引器.接口本身不提供它所定义的成员的实现.接口只指定实现该接口的类或接口必须提供的成员. 如何使用接口? 例如: <span style="font-family:KaiTi_GB2312;">using System; using System.Co

深入了解接口

首先我们要知道什么是接口? 接口是组件之间的协议,描述了组件对外提供的服务.从技术上讲接口是一组包含了函数型方法的数据结构. 通俗理解:就是飞机会飞,鸟会飞,他们都继承了同一个接口“飞”:但是F22属于飞机抽象类,鸽子属于鸟抽象类. 接口就是为了约束方法的格式(参数和返回值类型)而存在 (一个接口最好只能做一件事) 为什么要使用接口? 因为子类只有一个直接父类,即子类只能继承一个父类  为了能让子类实现多个方法模型,所有微软引入了接口的用法  一个类可以实现多接口 接口可以实现多继承,弥补单继承

【转 】C#中的接口实现多态

C#中的接口实现多态 我们都知道虚方法实现多态,抽象方法实现多态等,我们今天来看看如何使用接口实现多态 1.首先我们先要来了解了解什么是接口,它存在的意识 01.接口就是为了约束方法的格式(参数和返回值类型)而存在的 02.接口可以实现多继承,弥补单继承的缺陷.  03.接口可以看成是一个特殊的抽象类,通过反编译看源码可知 04.接口中方法不用访问修饰符,因为CLR会自动添加,并且不能有方法体 05.如果一个类实现了某个接口,就得实现该接口中所有的方法 06.接口要谨慎使用,防止出现接口污染!

什么是抽象类什么是接口两者有什么区别?如何使用它(转载)

一.抽象类: 抽象类是特殊的类,只是不能被实例化:除此以外,具有类的其他特性:重要的是抽象类可以包括抽象方法,这是普通类所不能的.抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们.另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们. 二.接口:      接口是引用类型的,类似于类,和抽象类的相似之处有三点:       1.不能实例化:       2.包含未实现的方法声明:       3.派生类必须实现未实现的方法,抽象

关于面向对象中接口和抽象类的一个比喻

一直对抽象类和接口有点疑惑,咋看功能差不多,网上找了点资料,看到一个比喻不错,记录一下. 1.飞机会飞,鸟会飞,他们都继承了同一个接口"飞":但是F22属于飞机抽象类,鸽子属于鸟抽象类. 2. 就像铁门木门都是门(抽象类),你想要个门我给不了(不能实例化),但我可以给你个具体的铁门或木门(多态):     而且只能是门,你不能说它是窗(单继承):一个门可以有锁(接口)也可以有门铃(多实现).     门(抽象类)定义了你是什么,接口(锁)规定了你能做什么(一个接口最好只能做一件事,你不

C#面试:抽象类与接口

本人近日面试遇到此等问题.然后又一次补习了一下下.希望对同行们有所帮助. 一.抽象类: 抽象类是特殊的类,仅仅是不能被实例化:除此以外.具有类的其它特性:重要的是抽象类能够包括抽象方法,这是普通类所不能的.抽象方法仅仅能声明于抽象类中,且不包括不论什么实现.派生类必须覆盖它们. 另外,抽象类能够派生自一个抽象类,能够覆盖基类的抽象方法也能够不覆盖,假设不覆盖.则其派生类必须覆盖它们. 二.接口: 接口是引用类型的,类似于类,和抽象类的相似之处有三点: 1.不能实例化: 2.包括未实现的方法声明:

C#中的接口实现多态

我们都知道虚方法实现多态,抽象方法实现多态等,我们今天来看看如何使用接口实现多态 1.首先我们先要来了解了解什么是接口,它存在的意识 01.接口就是为了约束方法的格式(参数和返回值类型)而存在的 02.接口可以实现多继承,弥补单继承的缺陷.  03.接口可以看成是一个特殊的抽象类,通过反编译看源码可知 04.接口中方法不用访问修饰符,因为CLR会自动添加,并且不能有方法体 05.如果一个类实现了某个接口,就得实现该接口中所有的方法 06.接口要谨慎使用,防止出现接口污染! 07.接口仅仅代表一种

C#抽象类与接口的区别

一.抽象类:      抽象类是特殊的类,只是不能被实例化(可以用派生类实例化基类对象):除此以外,具有类的其他特性:重要的是抽象类可以包括抽象方法(当然它可以有普通方法),这是普通类所不能的.抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须重写(覆盖)它们. 二.接口:      接口包含了一组方法的原型,接口是引用类型的,类似于类,和抽象类的相似之处有三点:       1.不能实例化:(参见MSDN显式接口实现)       2.包含未实现的方法声明:       3.派生类必须实

C#中抽象类和接口的区别与使用

一.抽象类: 抽象类是特殊的类,只是不能被实例化:除此以外,具有类的其他特性:重要的是抽象类可以包括抽象方法,这是普通类所不能的.抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们.另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们. 二.接口: 接口是引用类型的,类似于类,和抽象类的相似之处有三点: 1.不能实例化: 2.包含未实现的方法声明: 3.派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括