如何通过内部类实现多继承效果?
题目:计算器具有work方法,功能是运算,时钟同样具有work方法,功能是计时,有一个手机类Cellphone,同时需要拥有运算和计时功能,通过内部类实现多继承效果。
这道题我不太理解,究竟是要达到什么效果?我下面的这个写法对吗?
public class CellphoneTest {
class Calculater implements Work{
public void work(){
System.out.println("我是计算器,具备运算功能。");
}
}
class Clock implements Work{
public void work(){
System.out.println("我是时钟,具备计时功能。");
}
}
public static void main(String[] args) {
CellphoneTest cellphone = new CellphoneTest();
CellphoneTest.Calculater cell_Calculater = cellphone.new Calculater();
CellphoneTest.Clock cell_Clock = cellphone.new Clock();
cell_Calculater.work();
cell_Clock.work();
}
}
interface Work{
void work();
}
完了正在学java{:10_254:} Gacy 发表于 2021-9-18 21:09
完了正在学java
{:5_109:} CellPhone类
public class CellPhone implements Calculate, Time
{
@Override
public void work()
{
Calculate.super.work();
Time.super.work();
}
}
Test测试类
public class Test
{
public static void main(String[] args)
{
CellPhone cellPhone = new CellPhone();
cellPhone.work();
}
}
时钟接口
public interface Time
{
default void work()
{
System.out.println("我是时钟的work方法");
}
}
计算器接口
public interface Calculate
{
default void work()
{
System.out.println("我是计算器的work方法");
}
}
巴巴鲁 发表于 2021-9-19 09:25
CellPhone类
Test测试类
额,我看题目写的要求通过内部类实现这个功能,但您的答案里似乎没有涉及到内部类啊 我咋记得Java没有多继承,如果是接口是多重实现 dequantianhe 发表于 2021-9-19 19:44
额,我看题目写的要求通过内部类实现这个功能,但您的答案里似乎没有涉及到内部类啊
内部类把CellPohne放到Test类中就行了
我不知道题目具体要怎样,我这种创建一个对象调用work方法就行了,你的需要创建两个对象,调用两次方法
对于本题目我觉得用我的方法好些,因为他们都具有work方法,易于扩展
页:
[1]