-
2021-02-12 14:47:26
interface CallBack
{
void callBack(int param);
}
class Client implements CallBack
{
public void callBack(int p)
{
System.out.println("Call back called with :"+p);
}
void nonIterfaceMeth()
{
System.out.println("Classes that implements interface .");
}
}
class AnoterClient implements CallBack
{
public void callBack(int m)
{
System.out.println("Anoter vision of callBack");
System.out.println("p squared is "+(m*m));
}
}
public class TestFace
{
public static void main(String args[])
{
CallBack p1=new Client();
AnoterClient ob=new AnoterClient();
p1.callBack(42);
p1=ob;
p1.callBack(3);
}
}
更多相关内容 -
接口实现多态
2021-12-12 22:31:40创建一个接口. 新建类->新建接口 . 接口都是I开头, 且默认public 不用写public using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; ...创建一个接口. 新建类->新建接口 . 接口都是I开头, 且默认public 不用写public
接口的作用: 只改变了传入的参数, 就实现了多态, 而且对ErissonPhone和NokiaPhone没有做出修改, 减少了耦合性. 解耦, 松耦合, 功能的提供方可以快速替换
using System; namespace ConsoleTest1 { class Program { static void Main(string[] args) { //多态实现1 //PhoneUser user = new PhoneUser(new NokiaPhone()); /* PhoneUser user = new PhoneUser(new NokiaPhone()); user.UsePhone(); 的结果 Nokia calling... Nokia Picking... Nokia Sending... Nokia Recieving... */ PhoneUser user = new PhoneUser(new ErissonPhone()); user.UsePhone(); /* Erisson calling... Erisson Picking... Erisson Sending... Erisson Recieving... */ Console.ReadKey(); //接口的作用: 只改变了传入的参数, 就实现了多态, 而且对ErissonPhone和NokiaPhone没有做出修改, 减少了耦合性 } } class PhoneUser { private IPhone _phone; //通过构造函数传入参数, 对字段_phone初始化, 只要是继承 IPhone 接口的类都可以, 并实现其方法 public PhoneUser(IPhone phone) { _phone = phone; } public void UsePhone() { _phone.Dail(); _phone.PickUp(); _phone.Send(); _phone.Recieve(); } } interface IPhone { void Dail(); void PickUp(); void Send(); void Recieve(); } class NokiaPhone : IPhone { public void Dail() { Console.WriteLine("Nokia calling..."); } public void PickUp() { Console.WriteLine("Nokia Picking..."); } public void Recieve() { Console.WriteLine("Nokia Recieving..."); } public void Send() { Console.WriteLine("Nokia Sending..."); } } class ErissonPhone : IPhone { public void Dail() { Console.WriteLine("Erisson calling..."); } public void PickUp() { Console.WriteLine("Erisson Picking..."); } public void Recieve() { Console.WriteLine("Erisson Recieving..."); } public void Send() { Console.WriteLine("Erisson Sending..."); } } }
-
多态实例--用接口来实现多态
2020-11-17 20:21:51package fly; /** * 接口规则: * 1.接口中的方法不能实现.没有实现的方法也叫抽象方法 * 2.接口中最主要的成员就是:常量和抽象方法 ... * 一个类实现了一个接口,他就必须要实现接口中的所有抽象方法 */ public/**
- 接口规则:
- 1.接口中的方法不能实现.没有实现的方法也叫抽象方法
- 2.接口中最主要的成员就是:常量和抽象方法
- 3.接口不能实例化,需要其他的类来实现它
- 4.一个类可以实现多个接口,以逗号分隔,还可以继承自其他类(单继承)
- 5.接口可以继承自另外一个接口,继承里边的抽象方法
*/
package fly; public interface YunDong { }
package fly; public interface Fly extends YunDong{ public void doFly(); }
package fly; /** * 一个类实现了一个接口,他就必须要实现接口中的所有抽象方法 */ public class DaYan implements Fly { @Override // 注解,子类重写父类时写错了会给报错 public void doFly() { System.out.println("大雁在飞"); } }
package fly; public class MaQue implements Fly { @Override // 注解,子类重写父类时写错了会给报错 public void doFly() { System.out.println("麻雀在飞"); } }
package fly; public class Plane implements Fly { @Override public void doFly() { System.out.println("飞机在飞"); } }
package fly; public class ShenFei { public void testFly(Fly fly) { fly.doFly(); } }
package fly; public class Test { public static void main(String[] args) { ShenFei sf = new ShenFei(); Fly dayan = new DaYan();//声明为接口类型 Fly Maque = new MaQue(); Fly plane = new Plane(); sf.testFly(plane); /* * 多态: * 一个父类的引用,指向它的子类对象 * 一个接口的引用,指向它的实现类对象 * 即多态可以用继承来实现也可以用接口来实现 * 如果存在继承关系,那么就用继承实现多态 * 如果不存在继承关系,那么就用接口实现多态 * 趋势是:都倾向于使用接口实现多态 * * 继承更多的体现在重用方面 * 接口更多的体现在多态(制定规范) * * 面向对象最终实现的目标:可扩展 可重用 灵活性好 * */ } }
-
JAVA 使用类的继承和接口实现多态
2021-06-19 10:14:32使用类的继承和接口实现多态举例 2 源代码 2.1 使用接口实现多态 2.1.1 源代码 abstract class Vehicle //交通车辆抽象类 { abstract void consume();//使用能源 } interface fare //费用接口 { void charge(); /...1 题目
使用类的继承和接口实现多态举例
2 源代码
2.1 使用接口实现多态
2.1.1 源代码
abstract class Vehicle //交通车辆抽象类 { abstract void consume();//使用能源 } interface fare //费用接口 { void charge(); //收费 } class Bus extends Vehicle implements fare //公共汽车 { @Override void consume() //实现抽象类的抽象方法 { System.out.println("此公交使用电力驱动"); } @Override public void charge() //实现接口的抽象方法 { System.out.println("此公交收费1元/人"); } } public class TestBus { public static void main(String[] args) { Bus bus = new Bus(); bus.consume(); bus.charge(); } }
2.1.2 运行结果
2.2 使用类继承实现多态
2.2.1 源代码
abstract class Animal //定义抽象类 { String name; int age; abstract public void cry(); //定义抽象方法,动物会叫 } /*class Animal //定义基类 { String name; int age; public void cry() { System.out.println("动物会叫"); } }*/ class Dog extends Animal //定义子类Dog,继承先后向类Animal { @Override public void cry() //实现父类cry()方法 { System.out.println("汪汪叫..."); } } class Cat extends Animal //定义子类Cat,继承抽象类Animal { @Override public void cry() //实现父类cry()方法 { System.out.println("喵喵叫..."); } } public class AnimalCry { public static void main(String[] args) { Dog dog = new Dog(); dog.cry(); //调用子类方法,不会产生歧义,强耦合 Cat cat = new Cat(); cat.cry(); //调用子类方法,不会产生歧义,强耦合 System.out.println("......"); //后期动态绑定:根据对象类型选择相应的方法 Animal ani1 = new Dog(); //向上转型安全 ani1.cry(); Animal ani2 = new Cat(); 向上转型安全 ani2.cry(); } }
2.2.2 运行结果
-
Java 接口。实现。多态
2021-02-12 14:47:28Java 的接口public interface 类名接口是Java方法的合集,用于给不同的类实现同名的方法,接口是一个只有抽象方法的抽象类,1、接口中可以定义变量,但是变量必须有固定的修饰符修饰,public static final所以接口中... -
Java中 接口是如何实现多态的特性的
2021-03-01 08:08:47Java中多态是个很难理解的概念,但同时又是非常重要的概念,Java三大特性(封装、继承、多态)之一,我们从字面上理解,就是一种类型的多种状态,一下通过卖小汽车的例子再次说明什么是多态,其中利用到了接口。... -
接口如何实现多态
2018-11-06 15:06:41抽象类是用来继承的,不能被实例化。抽象类里可以有成员变量,接口中没有。 (1)抽象类里的抽象方法,只有在子类实现了才能使用。 (2)抽象类里的普通...【13】例:演示接口是如何实现多态的。 package data; //... -
Java中使用接口实现多继承和多态的方法
2021-03-01 09:59:32而继承的表现就是多态。一个父类可以有多个子类,而在子类里可以重写父类的方法(例如方法print()),这样每个子类里重写的代码不一样,自然表现形式就不一样。这样用父类的变量去引用不同的子类,在调用这个相同的... -
golang 利用接口实现多态统计计数器
2019-04-12 19:05:16我们怎么利用 golang 接口实现多态计数器呢? 直接上代码... statistics.go package statistics import ( "sync" ) var GpsClient = new(dataMap) var CanClient = new(dataMap) type statistic inte... -
接口实现多态特性的例子
2020-03-29 17:30:39多态是Java面向对象开发的三大特性(封装、继承、多态)之一:封装和继承是类的特性,而多态是对象的特性,我们也可以从字面上简单的理解多态就是对象的多种状态。 以下通过一个接口多个实现的例子进行分析: 代码... -
Java 利接口来实现多态的情况, 和利用接口实现多重继承!
2015-04-28 18:03:02来继承接口All 接口, 来实现All的情况。 少说废话,上代码: import java.util.*; interface S { void s(); } interface C { void c(); } interface All extends S,C { //这是实现接口的多重的继承 } ... -
实现多态的方式——接口
2019-09-30 09:35:453. 用接口来实现多态 接口是一种规范,也是一种能力,当一个类要表现出某种能力的时候,一般都用接口来实现。 声明接口的方式: 接口的名称一般以 I 开头,以able结尾。因为以able结尾的单词代表某种能力。 ... -
java用接口、多态、继承、类计算三角形和矩形周长及面积的方法
2020-09-03 17:20:42主要介绍了java用接口、多态、继承、类计算三角形和矩形周长及面积的方法,涉及java面向对象中类、接口、多态等的使用技巧,需要的朋友可以参考下 -
Java学习(接口-多态)
2019-03-08 10:29:04接口–多态(向上造型–向下造型) *接口: 有时,我们需要从多个不相关的类中设计出一个子类型,而java继承是单继承的特点,无 法满足我们的需求, 所以,我们可以使用"接口"来达到多继承的目的. ... -
java接口实现的多态
2019-09-18 22:30:08例子: 直接new一个实例,这样肯定知道...举个例子:A接口,A1,A2,A3实现A接口,接口中有一个eat方法,A1:吃饭,A2:吃鱼,A3:吃肉 需要得到"吃肉",那么 A a = new A3(); 需要得到"吃饭",那么 A a = new A1()... -
Java计算各种图形的周长、面积利用接口,多态等知识实现
2020-04-07 18:43:03利用接口、类、多态等知识,计算各种图形的周长和面积(圆,长方形,正方形) 解题思路: 创建一个接口Calculate,包含有三个方法, 求解周长的方法perimeter(), 求解面积的方法area(), 显示周长和面积的方法show(), 每... -
Java多态和实现接口的类的对象赋值给接口引用的方法(推荐)
2020-08-31 08:25:49下面小编就为大家带来一篇Java多态和实现接口的类的对象赋值给接口引用的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
Java 中的多态,一次讲个够之接口实现关系中的多态
2019-05-07 14:08:00接口实现关系,和继承区别不是很大, 接口和继承从定义上,无非一个对象能实现两个接口,解决了子类只能单继承的问题 先来两个接口,一个是动物类,一个是哺乳动物类,先不要管这两个类的关系,这就是没有相互关... -
学习Java,你需要知道这些——接口与多态
2020-12-20 20:35:29文章目录接口接口的作用接口的语法实现接口实现多个接口的语法接口的扩展类型转换类型转换的概念类型转换规则隐式类型转换显式类型转换类型转换的主要应用场合类型转换的主要应用场合多态多态的概念多态的目的 ... -
接口、实现和多态
2019-04-04 19:54:59设计良好的软件的特征就是接口和实现可以清晰的区分开来。接口是一组方法、函数以及这些方法和函数可用的数据类型的名称。正如硬件的USB接口一样,它展现给我们的只是一个扁长的物理接口,而一般不关心它内部的布线... -
java实现多态的两种方式(接口、抽象类)
2019-07-27 13:53:05接口实现多态: 接口对象指向实现类对象,可调用实现类的重写方法 以下就是生活中两种多态的实例,**抽象类是模板,接口是功能。 **描述: Door.java 抽象类 package com.dialogd.polymorphic; //抽象类,抽象类是... -
Java接口和多态
2021-12-20 00:02:10文章目录 接口 接口的语法 接口的实现 多重继承 多态 二次分发举例 接口 利用接口,Java程序也可以实现类似于多重继承的网状层次结构。 接口使抽象的概念更深入一层。可将其想象为一个纯抽象类。它允许创建者规定一... -
实现多态的三种方法之抽象类和接口
2019-04-17 22:24:30实现多态的方法 多态性通过派生类重载基类中的虚函数型方法来实现。 可以用不同的方式实现组件中的多态性: 1.接口多态性。 2.继承多态性。 3.通过抽象类实现的多态性。 (继承在前边讲过,所以这里只讲抽象类和接口... -
Java面向对象(二) 接口、多态和泛型
2021-03-15 12:51:56一、接口二、多态多态是同一个行为具有多个不同表现形式或形态的能力。2.1 类型转换转换方式隐式 向上转型对于基本数据类型,存储容量低的可自动向存储容量高的类型转换对于引用变量,子类可被转换为超类,可被赋给... -
c# 继承、接口和简单工厂模式实现多态.doc
2020-05-25 14:26:14第 PAGE 8 页 共 NUMPAGES8 页 C#程序设计 作业报告 作业 利用C#实现多态学号尾数4,5 班级 姓名 学号 时间 作业编号 2 题目 利用C#实现多态 作业要求 分别用继承接口和简单工厂模式软件工程必做大数据班选做实现多态... -
JAVA中使用接口实现多态【基础】
2012-09-28 17:32:00多态就是... 创建一个接口类IDoor IDoor接类 /** * 定义一个接口IDoor * 1、定义接口使用关键字:interface * 2、接口中方法必须是公开方法 * 3、接口中的方法不能有方法体,即不能有方法体 */ ... -
Java 学习笔记(7)——接口与多态
2019-06-01 13:18:00在继承中说到:调用对象中的成员变量时,根据引用类型来决定调用谁,而调用成员方法时由于多态的存在,具体调用谁的方法需要根据new出来的对象决定,这篇主要描述的是Java中的多态以及利用多态形成的接口 ...