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