利用 java 內部類實現多重繼承
阿新 • • 發佈:2018-12-26
直接看下面的示例:
package test;
/**
* class one: Class1
* @author TJ
*/
public class Class1 {
/**
* method: getName
* @return name
*/
public String getName() {
return "Luck";
}
}
package test; /** * class two: Class2 * @author TJ */ public class Class2 { /** * method: getAge * @return age */ public int getAge() { return 25; } }
package test; public class MainClass { /** * inner class one: Test1 extends Class1 * @author TJ */ public static class Test1 extends Class1 { @Override public String getName() { return super.getName(); } } /** * inner class two: Test2 extends Class2 * @author TJ */ public static class Test2 extends Class2 { @Override public int getAge() { return super.getAge(); } } /** * method: showName * @return name */ public String showName() { return new Test1().getName(); } /** * method: showAge * @return age */ public int showAge() { return new Test2().getAge(); } public static void main(String args[]) { MainClass example = new MainClass(); System.out.println("name:" + example.showName()); System.out.println("age:" + example.showAge()); } }
我們都知道Java是不能像C++一樣真正的實現多重繼承,我們只能使用父類+介面的方式來實現多重繼承,那麼現在我們還可以使用內部類來實現多重繼承,避免實現多個介面時多了一些不必要的方法,因為實現一個介面那麼接口裡的方法你都要實現。