`

父类和实现的接口有相同的方法

 
阅读更多

转自:http://www.cnblogs.com/bethunebtj/p/4676063.html

Java子类的父类和要实现的接口有相同的方法/函数会冲突吗

 

答案是,不会。子类优先实现父类的方法,虽然父类的方法和接口的方法长得一模一样。

复制代码
class father{
    public void f(){}
}
interface sameInterface{
    public void f();
}
class son extends father implements sameInterface{
    public void f(){
        //本函数实际实现的是父类的f(),而不是接口的f()
    }
}
复制代码

注意:这种重叠在父类和接口均声明抛出异常时可能冲突。譬如,父类声明了异常1,接口声明了异常2。子类实现成员函数时,不能实现异常1或异常2,只能选择不实现异常。

复制代码
class exception1 extends Exception{}
class exception2 extends Exception{}
class father{
    public void f()throws exception1{}
}
interface sameInterface{
    public void f()throws exception2;
}
class son extends father implements sameInterface{
    public void f(){
        //只能选择不实现异常,实现exception1或exception2都会报错
    }
}
分享到:
评论

相关推荐

    Java重写与重载(区别与用途)

     重写方法的方法名必须与父类或接口方法名相同,否则是定义新方法  重写方法的方法参数必须与父类或接口方法参数相同,否则是重载方法  重写方法的返回类型必须与父类或接口方法返回类型相同,否则是重载方法 ...

    实验3 抽象类和接口(2学时)

    2、以电话为父类,移动电话和固定电话为两个子类,并使移动电话实现接口:可移动。固定电话又有子类:无绳电话。定义接口及各类,明确他们的继承关系。 3、在实验2中所实现的Teacher类的基础上,修改Teacher类的代码...

    对DAL数据访问层的封装,一个泛型接口,一个实现泛型接口的父类

    对DAL数据访问层的封装,一个泛型接口,一个实现泛型接口的父类,泛型父类实现了对某个表的增删改查,用EF技术实现

    接口基础知识

    一个类如果实现了一个接口,则必须实现接口中的全部方法,否则必须将其定义为抽象类。Java通过实现接口达到了多重继承的效果 3. 接口表示一种约定,接口表示一种能力。接口体现了约定和实现分离的原则。 4. 抽象类...

    接口的应用Shape类,Rectangle、Triangle、Square

    编写一个接口Shape类,Rectangle、Triangle、Square等三个类实现(implements)接口Shape,并通过实现Shape中的接口来实现具体...编写两个接口Phone、GameMachine,MobilePhone类实现接口Phone和GameMachine中接口。

    定义一个接口,用于描述动物的生活习性,包含食性、捕食、分布区域、睡觉方式、群居方式等;接口里面包括属性和方法

    接口里面包括属性和方法。 例如: interface IHabit { void CatchFood(); string food{get;set;} …… } 然后定义猫、老虎、狮子、大象等几个动物类来实现该接口; 最后定义一个调用类,来运行程序,查看接口的...

    深入理解Java:10个示例展示核心概念和用法涵盖了类和对象、继承和多态、接口和实现、异常处理、集合框架、文件操作、多线程、输入

    3. 接口和实现:展示了接口的定义和实现类的实现,实现类必须实现接口定义的方法。 4. 异常处理:示范了异常处理的基本用法,包括捕获和处理异常。 5. 集合框架:介绍了使用ArrayList作为动态数组来存储和遍历数据的...

    1.3:接口的特点总结.pdf

    接口是一种规范。为了多态。 接口不能被实例化(接口是特殊抽象类,抽象类中可能有抽象方法,实例化没有意义)。...当一个抽象类实现接口的时候,如果不想把接口中的成员实现,可以把该成员实现为abstract。

    抽象类和接口的区别

    如果它的某个方法在父类中实现出来没有任何意义,必须根据子类的实际需求来进行不同的实现, 那么就可以将这个方法声明为abstract方法,此时这个类也就成为abstract类了。  包含抽象方法的类称为抽象类,但并...

    Java中抽象类和接口的区别与作用详解

    abstract class,只可以包含抽象方法,也包括一些常量的定义,丝毫不带半点实现细节,它只提供接口,可以有数据成员,默认是、同时也必须是static & final型,可以通过Interface name直接访问。Interface可以实现...

    Test2_Interface.java

    -- 实现类 和 接口 :可以单实现也可以多实现,要求实现类要重写接口的所有抽象方法,否则实现类就是个抽象的实现类 -- interface A { void save(); void get(); } -- class AImpl implements A { //可以把所有...

    C# 实例化接口对象的方法

    在head first 设计模式中 用到了很多很多接口对象 首先澄清一个问题,就是接口不仅可以声明对象,...实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口方法 直接上代码 using System; usin

    面向对象理论题的知识点.pdf

    接口的字段写成抽象方法,让子类的子类去继承和实现 接口的成员 6 double num=10;隐式转换, int num=(int )num;显示转换 person p= new student() ((student)p).show(); 早上过来大概看一下昨天的笔记...

    D11接口,多态.zip_d11接口_java接口_mannerglc_多态

    接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成。这样将功能的定义与实现分离,优化了程序设计。 多态是继封装、继承之后,面向对象的第三大特性。 Java作为面向...

    深入理解Java多态.pptx.pptx

    接口定义了一组规范,实现接口的类需要实现这些规范;重写是在子类中重新定义父类的方法,以实现不同的功能。 多态的作用 多态可以提高代码的复用性和可扩展性。通过多态,可以将不同类型的对象统一处理,使得代码...

    java实验(drinking)

    java实验: 4. (1) 编写一个抽象类Drink,要求包括以下属性size (small, medium or large);...(3) 创建一个接口Microwavable,其中有一个方法reheat,可以加热饮料, 适当地修改Coffee类,让它实现接口Microwavable。

    接口和抽象类的区别(面向对象)

    而接口呢~还是拿教师做例子,教师的行为很多,除了和普通人相同的以外,还有职业相关的行为,比如改考卷,讲课等等,我们把这些行为定义成无body的方法,作为一个集合,它是一个interface。而教师张三李四的各自行为...

    Elevenyxy.zip

    在Vehicle类中声明一个名为run的实现打印”Running”功能的方法和一个名为wheelsNum的抽象方法,该方法没有返回值。创建两个类Car和Motorbike,均继承自Vehicle,并在这两个类中实现wheelsNum方法。在Car类中应当...

    java类型游戏

    1.抽象类: abstract修饰 不能被实例化 子类继承: 1)子类中重写所有抽象方法---变不完整为完整 2)子类抽象 意义: ... 子类实现接口,必须实现接口所有抽象方法 6)实现多个接口 7)接口间可以继承

    面向对象程序设计与实践-Java抽象类和接口[33页].pptx

    //将move定义为抽象方法 抽象方法目的就是为了实现一个接口多种方法的原理,即所有的子类对外都呈现一个相同名字的方法,抽象方法必须被重写,且构造方法、类方法不能声明为抽象方法。 面向对象程序设计与实践-Java...

Global site tag (gtag.js) - Google Analytics