java 实现多个接口 方法重名的解决办法——内部类

package com.kk.innerClass;

/**
* 通过内部类实现接口
* 解决多个接口中方法重名问题
*
*/
interface Machine {
void run();
}

class Person {
void run() {
System.out.println("person start");
}
}

public class Android extends Person {
private class MachineHeart implements Machine {

public void run() {
System.out.println("machine start");
}
}

Machine getMachine(){
return new MachineHeart();
}
public static void main(String[] args) {
Android android=new Android();
Machine machine=android.getMachine();
machine.run();
android.run();
}
}

时间: 2024-10-12 08:39:43

java 实现多个接口 方法重名的解决办法——内部类的相关文章

方法重名

方法重名 在父子类的继承关系中,创建子类对象,访问成员方法的规则: 创建的对象是谁,就优先用谁,如果没有就向上找. //父类 public class Fu{ public void methodFu{ System.out,println("子类方法执行!"); } public void method(){ System.out,println("父类重名方法执行!"); } } //子类 public class Zi extend Fu { public v

直接端口打印 支持USB接口的打印机吗?解决办法

直接端口打印 支持USB接口的打印机吗?解决办法 www.MyException.Cn  网友分享于:2013-09-15  浏览:488次 直接端口打印 支持USB接口的打印机吗?问题如上,如可以支持,应该怎么搞? ------解决方案--------------------支持,只是端口名称不同而已. ------解决方案--------------------1. 安装一个打印机驱动(保证可以打印测试页)2. 把打印机共享出来3. 然后把端口名填入 \\机器名\打印机共享名 这样,就可实现

mysql如果在使用多表连查时,两张或多张表出现相同的字段名的解决办法

多表查询时,mysql语句为: select a.*,b.* from 表A名 as a left join 表B名 as b on a.字段名=b.字段名; 当出现两个相同字段名字时,比如相同字段名为name,就可以a.name as aname,b,name as bname; 语句为: select a.name as aname,b.name as bname from as a left join 表B名 as b on a.字段名=b.字段名; mysql如果在使用多表连查时,两张或

window.open()方法被拦截的解决办法

JS代码中,进行Ajax处理后,根据后台逻辑判断.满足一定条件时, 采用window.open() 打开新页面时,会存在浏览器拦截该网页的情况,因为window.open()是打开一个新的页面,存在跨域的问题,所以浏览器拦截. 解决办法是: ajax中将异步提交改为同步提交,即添加参数 async: false,再使用window.open()时就能解决问题 window.open()方法被拦截的解决办法

jmail组件 对象不支持此属性或方法: 'JMail.ServerAddress' 的解决办法

jmail组件是asp最常用的邮件发送工具,自己有一个网站,已经使用这个jmail组件有8年了,但不知道为什么在12号突然出现无法正常发送邮件的问题, 后来经过测试代码,发现IIS报的错误为:对象不支持此属性或方法: 'JMail.ServerAddress',遇到不明白的,当然就是先度娘了,百度了2天都没有发现有相同错误的案例及解决的办法, 我的代码如下: Dim JMail Set JMail=Server.CreateObject("JMail.Message") if err

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 错误的解决办法

java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 错误的解决办法 (2011-05-05 16:08:05) 转载▼ 标签: 杂谈 分类: Oracle 出现这个问题,主要是驱动包没放到项目里,解决办法如下: 1.找到oracle里的jdbc\lib: 2.设置系统的 classpath 为 ojdbc14.jar.class12.jar: 3.把这两个jar拷贝到你的项目里的 \WEB-INF\lib 下: 4.

C#接口多继承方法重名问题

最近实现一个功能需要继承两个接口,然而父类接口有这重名的方法,且方法实现一致.两个父接口均被多个子接口继承,并在类实例中实现.起初,我是通过new重名方法来实现我的功能调用.后被指正,在网上看了一个工友解决类似问题的方法,这里引用记录一下. 引自:http://www.cnblogs.com/xgw2004058/archive/2010/06/18/1760046.html 经常,一个类会实现多个接口,比如用户的一个控件继承自"IEdit"和"ICombo",每个

Python3基础 一个类中 属性与方法重名时,属性会覆盖方法 基本示例

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: class MyClass : #属性 num=1 #方法 def num(self): print('hello') test=MyClass() #这里还可以呢 test.num() #下面对属性进行赋值 test.num=1a #你会发现 方法报错了 test.num()

C++ 当子类的方法和父类的方法重名时...

C++当子类的成员函数与父类的成员函数重名时: 若父类没有virtual声明,子类函数可以和父类函数返回值不同,但函数名和参数列表必须相同. 则子类实例通过"."调用的是子类的函数 若子类想调用父类的函数,则需要使用 子类实例.父类::函数名() 的形式. 父类实例通过"."调用的是父类的函数 父类无法调用子类的同名函数 若通过指针->调用 则指针的类型 决定 调用哪个类的函数 父类地址强制转换为子类指针 也可以调用子类的函数. 若父类有virtual声明,