1. 程式人生 > >利用 java 內部類實現多重繼承

利用 java 內部類實現多重繼承

直接看下面的示例:

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++一樣真正的實現多重繼承,我們只能使用父類+介面的方式來實現多重繼承,那麼現在我們還可以使用內部類來實現多重繼承,避免實現多個介面時多了一些不必要的方法,因為實現一個介面那麼接口裡的方法你都要實現。