java接口中多继承的问题

java中支撑多继承吗? 支持-》接口啊
为什么接口支持多继承呢?因为接口中没有方法体!即使可能两个接口中有一样的抽象方法,但是
只会调用子类中覆盖该同样抽象方法的具体方法!不会引起调用的歧义!
interface A{
   public abstract void show();
}
 
interface B{
   public abstract int show();
}
 
interface C extends A, B{
    
}
/*
    相同的函数名,函数参数 但是不同的返回值,继承过来之后就会出现方法定义重复!
    错误: 类型B和A不兼容; 两者都定义了show(), 但却带有不相关的返回类型
    接口的使用要避免这样的情况的发生!
*/
 
interface A{
   public abstract void show();
}
 
interface B{
   public abstract void show();
}
 
interface C extends A, B{
    
}
/*
    A, B 中完全一样的抽象方法, 只要在子类中写一个public void show(){}就可以覆盖A, B中的抽象方法!
*/
时间: 2024-09-20 00:25:34

java接口中多继承的问题的相关文章

java接口中的方法和变量为啥都必须是public?

问题描述 java接口中的方法和变量为啥都必须是public? 假如这个接口A是public 的,那么其他包里的类B就可以实现这个接口A, 实现本身就隐含的包括了继承,那么为啥A中的方法不能是protected呢?因为类B可以覆盖A中的protected方法啊. 请各位帮忙分析下,谢谢! 解决方案 http://www.cnblogs.com/dolphin0520/p/3811437.html 解决方案二: 假如你引用第三方的jar 呢? 解决方案三: public也可以覆盖.既然是接口,那么

Java接口中的字段

Java接口中的字段默认都是静态常量,不管在编码的时候有没有显示的指定static或者final.   如以下接口: public interface AccessFlag {     public int a = 10;     public static int b = 20;     public final int c = 30;     public static final int d = 40; }   它编译生成的二进制代码如下: public abstract interfac

初始化java接口中的字段

接口中定义的字段会自动具有static和final属性.它们不能是"空白final",但可初始化成非常数表达式.例如:   //: RandVals.java // Initializing interface fields with // non-constant initializers import java.util.*; public interface RandVals { int rint = (int)(Math.random() * 10); long rlong =

Java接口中尽量避免使用数组_java

 如果你发现在一个接口使用有如下定义方法:   public String[] getParameters(); 那么你应该认真反思.数组不仅仅老式,而且我们有合理的理由避免暴露它们.在这篇文章中,我将试图总结在Java API中使用数组的缺陷.首先从最出人意料的一个例子开始.数组导致性能不佳 你可能认为使用数组是最快速的,因为数组是大多数collection实现的底层数据结构.使用一个纯数组怎么会比使用一个包含数组的对象性能更低? 让我们先从这个看起来很熟悉的普遍的习惯用法开始:   publ

关于JAVA接口中是否包含成员变量的争执,请大家帮忙解答!

问题描述 公司考试的试题中有一道判断题:接口不包含成员变量和方法实现.我选择的而是错,因为接口中可以包含成员变量(其实就是接口常量),但是答案是对的,我与出题人交流时无法达成一致,他的理由是:首先,对于变量和常量做一个澄清.常量就是不可以被改变的数值.变量就是可以被改变的数值.如果模糊一点,也可以都叫做变量. 对于接口中定义的变量,编译器会默认它是常量,不可更改.等同于 final static. 其次,对于接口来说,本身是不不可以被实例化,也不能包含任何可变的数据.您给出的例子是类中的变量,而

java接口中定义的常量的访问方法

我们在定义常量的时候,可以把常量定义在接口里面,如: packageorg.zy.demo.base; publicinterfaceInterfaceDemo{ finalStringname="thisismyname"; } 上面是我定义的接口和常量. 常量的定义没有指明publicstatic 我实现此接口: packageorg.zy.demo.base; publicclassInterfaceImplimplementsInterfaceDemo{ } 那么我们如何访问呢

Java语言入门教程(十六):Java语言中的接口

通过前面几篇文章的学习,初学者可以初步掌握Java语言中继承的概念和使 用方法,对抽象类的使用也有一定的理解.值得注意的是,Java中类与类的继承 是单继承,也就是一个子类最多同时可以继承一个父类.那么让我们看下面的例 子. 假设我们要开发一个游戏系统,而游戏系统中有三种飞行器:飞机.小鸟. 蜘蛛侠.这三种飞行器都需要实现起飞,飞行,降落的逻辑,但是实现方法各不 相同.那么这三个类应该有一个抽象类作为父类,规范共同行为. package com.csst.inter; public abstra

Java编程中使用XFire框架调用WebService程序接口_java

 JAVA调用webservice,当你刚开始接触的时候你会觉得它是一个恶梦,特别是没有一个统一的标准实现,比起.net的那些几步就可以完成的webservice实现,我们看着JAVA的实现真是伤心啊.但就算是伤心,我们也还是要完成的.JAVA也不乏比较好的实现,如xfire,jersey,CXF. 这里我们就一起来看一下xfire的实现.  1)首先,当然是要下包啦,这个普通人都知道.http://xfire.codehaus.org/Download可以到这里去下,可以下all也可以下dis

Java基础教程之继承详解_java

继承(inheritance)是面向对象的重要概念.继承是除组合(composition)之外,提高代码重复可用性(reusibility)的另一种重要方式.我们在组合(composition)中看到,组合是重复调用对象的功能接口.我们将看到,继承可以重复利用已有的类的定义. 类的继承 我们之前定义类的时候,都是从头开始,详细的定义该类的每一个成员.比如下面的Human类: 复制代码 代码如下: class Human {      /**      * accessor      */