关于内部类!!!!Java编程思想第四版里面有几句话很让人费解啊···· Java编程思想第四版的204页,中有几句这样的话:这段话的意思不是很明白,开始以为内部类可以多重继承,但实际上不是,有人能解释一下不?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 内部类的作用:1.隐藏实现。2.实现类C++的多重继承(相对用接口实现的多重继承相比,内部类能实现对多个抽象类的多重继承).Java不支持类的多重继承,但可以使用内部类来继承,实现更多的类。下面的例子,目标类需要继承两个抽象类(A和B)。目标类C本身继承类A,并使用一个匿名内部类继承另一个类B。abstract class A { abstract void methodA();} abstract class B { abstract void methodB();} class C extends A { @Override void methodA() { System.out.println("extends A's method"); } B getB() { return new B() { @Override void methodB() { System.out.println("extends B's method"); } }; }} public class MultiImplementation { public void doA(A a) { a.methodA(); } public void doB(B b) { b.methodB(); } public static void main(String[] args) { MultiImplementation mi = new MultiImplementation(); C c = new C(); mi.doA(c); mi.doB(c.getB()); }} 正解,java是单继承的,就是一个类有且仅有一个父类,而一个父类可以有多个之类,但是通过内部类继承不同的父类,可以实现多继承 double 和float的区别! 线程中用while循环 toolbar中按钮间距如何固定 java习题 B/S模式下客户机取连续数值问题 必须要自己写函数对字符串数组中的字符串排序啊?有没有现成的函数? 为什么我用JAVA显示系统日期有错误 Swing组件出现问题,求救 帮我看看这部分代码吧,再弄不出来我快要疯了,天啊,明天大街上难道会多一个疯婆子? 讨论关于打包的问题,有请javamap及各位对此熟悉的大虾或有困惑的菜鸟 求一正则表达式 想实现一个从结果集合到bean拷贝的功能,请指教
1.隐藏实现。
2.实现类C++的多重继承(相对用接口实现的多重继承相比,内部类能实现对多个抽象类的多重继承).Java不支持类的多重继承,但可以使用内部类来继承,实现更多的类。
下面的例子,目标类需要继承两个抽象类(A和B)。目标类C本身继承类A,并使用一个匿名内部类继承另一个类B。
abstract class A {
abstract void methodA();
}
abstract class B {
abstract void methodB();
}
class C extends A {
@Override
void methodA() {
System.out.println("extends A's method");
}
B getB() {
return new B() {
@Override
void methodB() {
System.out.println("extends B's method");
}
};
}
}
public class MultiImplementation {
public void doA(A a) {
a.methodA();
}
public void doB(B b) {
b.methodB();
}
public static void main(String[] args) {
MultiImplementation mi = new MultiImplementation();
C c = new C();
mi.doA(c);
mi.doB(c.getB());
}
}