可以实现多重继承
个特点非常重要,个人认为它是内部类存在的最大理由之一。正是由于他的存在使得Java的继承机制更加完善。大家都知道Java只能继承一个类,它的多重继承在我们没有学习内部类之前是用接口来实现的。但使用接口有时候有很多不方便的地方。比如我们实现一个接口就必须实现它里面的所有方法。而有了内部类就不一样了。它可以使我们的类继承多个具体类或抽象类。大家看下面的例子。
类一
1 2 3 4 5 6 7 | package insidecategory; public class Example1 { public String name() { return "liutao" ; } } |
类二
1 2 3 4 5 6 7 | package insidecategory; public class Example2 { public int age() { return 25 ; } } |
类三
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | package insidecategory; public class MainExample { private class test1 extends Example1 { public String name() { return super .name(); } } private class test2 extends Example2 { public int age() {<br> return super .age();<br> } } public String name() { return new test1().name();<br> } public int age() { return new test2().age();<br> } public static void main(String args[]) { MainExample mi= new MainExample(); System.out.println( "姓名:" +mi.name()); System.out.println( "年龄:" +mi.age()); } } |
大家注意看类三,里面分别实现了两个内部类 test1,和test2 ,test1类又继承了Example1,test2继承了Example2,这样我们的类三MainExample就拥有了Example1和Example2的方法和属性,也就间接地实现了多继承。