接口多继承自接口和接口是否可以继承自一般类的疑问?

接口是常量值和方法定义的集合。接口是一种特殊的抽象类。

Java类是单继承的。classB Extends classA

java接口可以多继承。Interface3 Extends Interface0, Interface1, interface……

不允许类多重继承的主要原因是,如果A同时继承B和C,而B和C同时有一个D方法,A如何决定该继承那一个呢?

但接口不存在这样的问题,接口全都是抽象方法继承谁都无所谓,所以接口可以继承多个接口。

注意:

1)一个类如果实现了一个接口,则要实现该接口的所有方法。

2)方法的名字、返回类型、参数必须与接口中完全一致。如果方法的返回类型不是void,则方法体必须至少有一条return语句。

3)因为接口的方法默认是public类型的,所以在实现的时候一定要用public来修饰(否则默认为protected类型,缩小了方法的使用范围)。

接口可不可以继承自一般类?

不可以因为接口中只能出现3种成员
1.公共的静态常量(public final static )
2.公共的抽象方法(public abstract )
3.静态内部类(static class)

而一个类中,就算什么都不写,也必须带一个构造方法,在extends时就会被子类继承,如果是接口也会继承这个构造方法,很明显构造方法不在上面三项之列
而如果类中有一般的方法和成员变量,也会被子类全部继承,这些更不能出现在接口中了,所以接口是绝对不可能继承一个类的

参考:

1 http://blog.csdn.net/tiantiandjava/article/details/46514783

2 http://blog.csdn.net/xiaoyu714543065/article/details/8138519

时间: 2024-12-26 17:21:55

接口多继承自接口和接口是否可以继承自一般类的疑问?的相关文章

面向对象二 — — 继承、抽象类、接口

一.继承 extends 继承的特点:Java的继承通过extends关键字来实现,实现继承的类被称为子类,被继承的类称为父类 1.参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载. 2.返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载. 3.访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private) 4.重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常. 用supe

面向对象:封装继承和多态、接口

1.多态 定义:不同对象对于同一个方法(Cut)调用表现出不同行为多态性主要是靠重写和隐藏来实现 a.(父类引用指向子类对象)b.(父类类型做参数,传递子类对象)自定义方法参数是父类类型 传递的实参是子类对象c.(父类类型作返回类型,return子类对象)自定义方法的返回类型是父类类型,return是类对象注:都是把子类对象赋给父类类型 举例: 添加乐器类using System;using System.Collections.Generic;using System.Linq;using S

C#中的继承与多态还有接口

简单继承 最简单的三个类 public class Animal { public Animal() { Debug.Log("Construct Animal!"); } } public class Mammal : Animal { public Mammal() { Debug.Log("Construct Mamal!"); } } public class Sheep : Mammal { public Sheep() { Debug.Log("

第七节 继承、抽象类和接口

继承的概述 代码示例: class Person{ // 父类 String name; int age; char sex; String idcard; } class Students extends Person{ //子类 继承 父类的属性 public void study(){ System.out.println("好好学习"); } } class Worker extends Person{ //子类 继承 父类的属性 /* 我们通过继承的方式,可以省略掉Worke

黑马程序员——Java基础——面向对象——继承、抽象类、接口、多态、包、内部类、异常等

第一讲 继承 1.继承: 当多个类拥有相同的功能时,那么这些类不需要每个都写这些相同的功能,只需要把相同功能抽到 一个单独的类中,继承这个类就能获得这些相同的功能: (1)继承的体系结构:就是对要描述的事物进行不断的向上抽取,就出现了体系结构. 要了解这个体系结构中最共性的内容,就看最顶层的类. 要使用这个体系的功能,就用最底层的类创建对象 (2)好处: A.提高代码复用性: B.继承的出现,让类与类之间产生关系,为多态的前提 (3)特点: A.只能单继承(准确的说是java对多继承进行优化,避

接口、接口优点、接口的属性和方法特性、接口与继承的区别、接口与抽象类的区别、匿名实现类、JDK1.8新特性、打印类名称

接口里的属性,必须是公共的/默认的&静态的&Final&初始化后的属性: 接口里所有方法都是抽象的. 接口和继承---先天有的用继承,后天学习的用接口: 接口特性-------- 1.接口不可以被实例化: 2.实现类必须实现接口中所有方法,否则实现类必须是抽象类 3.实现类可以实现多个接口,来弥补Java不能多继承: 4.接口中的变量都是静态常量:(静态的-可以通过类的名字点-直接调用:) ----------------------------------------------

JAVA继承、多态与接口

一.继承1.继承的优点 代码的重用性 子类可以扩展父类的属性和方法 设计应用程序变得更加简单 父类的属性和方法可用于子类2.如何判断类具有继承关系 类和类的关系 1)has-a(组合) 2)is-a(继承)3.单继承和多继承 单根性: 在java中,一个类只能有一个父类 传递性: 子类可以将父类的属性和方法传递给自己的子类4.所有类的根类都是Object(超类,基类)5.方法重写(以后多态的使用要用到)@Override//注解 1)子类的方法的返回值类型.方法名和形式参数列表, 必须和父类中的

Java基础-继承、抽象类、接口

继承和接口是OOP程序设计语言中非常重要的两个概念,也是经常让程序员对其使用比较混淆的.什么时候用继承好一些,什么时候用接口好一些呢? 首先,从OOP程序设计语言的多态特性来说两者都是多态的一种体现.继承更侧重于给对象进行归类(继承体系)和接口则侧重于对功能方法进行归类. 每个类都属于特定的继承体系,所有的类向上转换最终只能转成一个基类.继承将"做什么"和"怎么做"耦合在一起,如果需要复用现有的方法必须将新增的类添加到现有的继承体系中(或者采用包装类). 接口则可以

黑马程序员--java基础------继承,抽象,接口

-----------android培训.java培训.java学习型技术博客.期待与您交流!------------  继承 一.概述         继承是面向对象的一个重要特征.当多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继那个类即可.这时,多个类可以称为子类,单独的这个类称为父类或者超类. 这样类与类之间就存在了继承的关系.子类可以直接访问父类中的非私有的属性和行为.在代码中通过extends关键字表示继承关系.例: class