Java中的多重继承
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中的多重继承相关的知识,希望对你有一定的参考价值。
1. Java子类只能继承一个基类,但可以实现多个接口。
package com.test.wx; public class Test { interface CanFight{ void fight(); } interface CanSwim{ void swim(); } interface CanFly{ void fly(); } class Action{ public void fight(){ System.out.println("Action");} } class Hero extends Action implements CanFight,CanSwim,CanFly { @Override public void fly() { // TODO Auto-generated method stub System.out.println("fly"); } @Override public void swim() { // TODO Auto-generated method stub System.out.println("swim"); } } public static void t(CanFight x){x.fight();} public static void u(CanSwim x){x.swim();} public static void v(CanFly x){x.fly();} public static void w(Action x){x.fight();} public static void main(String[] args) { Hero h= new Test().new Hero(); //内部类对象的创建需要使用.new t(h); u(h); v(h); w(h); } }
执行结果:
Action
swim
fly
Action
2. 接口的多继承。
package com.test.wx; public class Test { interface A{ void fa(); } interface B{ void fb(); } interface C extends A,B{ void fc(); } class DDD implements C{ @Override public void fa() { // TODO Auto-generated method stub } @Override public void fb() { // TODO Auto-generated method stub } @Override public void fc() { // TODO Auto-generated method stub } } }
以上是关于Java中的多重继承的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有多重继承的情况下避免代码重复(即在 java 中)?