Java类实现一个接口同时继承类不实现接口实现该接口的抽象类,有什么好处?

java接口可以继承多个接口
接口是常量值和方法定义的集合。接口是一种特殊的抽象类。
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类型,缩小了方法的使用范围)。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。JAVA 继承基本类、抽象类、接口介绍
转载 & & 作者:
Java是一个面向对象的语言,java面向对象一般有三大特征:封装、继承、多态
封装:就是把一些属性和方法封装到一个类里。 继承:就如子类继承父类的一些属性和方法。 多态:就如一个父类有多个不同特色的子类。 这里我就不多讲解,下面我主要说明一个继承。继承是OOP(面向对象)的一个特色,java只支持单继承(如果继承两个有同样方法的父类,那么就不知道继承到那个父类的,所以java只支持单继承)。继承是java的一个特色,我们用的所以类都继承Objict类,所以就要Object类的方法,如toString()、getClass()、wait()……所以我们建立的类都有父类。 Java中一般有三种类: 基本类:也就是一般的类(一般所说的类就是基本类),是对象的模板,是属性和方法的集合。可以继承其他基本类、抽象类、实现接口。 抽象类:有抽象方法的类(抽象方法就是该方法必须由继承来实现,本身只定义,不实现)。抽象类可以有一个或多个抽象方法,他是基本类和接口类的过度。 接口类:一般叫做接口,该类中的所有方法都是抽象方法,该类的方法本身只定义不实现。 抽象类和接口一个由【abstract class + 抽象类名】一个由【interface +接口名】定义,接口中的所以方法都是抽象方法,而抽象类有部分方法是自身实现了的,一些只定义不实现。 基本类的定义:
代码如下: public class Fruit { public void price() { System.out.println("水果价格"); } public void weight() { System.out.println("水果重量"); } }
抽象类的定义:
代码如下: public abstract class Fruit { public void price() { System.out.println("水果价格"); } public abstract void weight(); }
接口类的定义:
代码如下: public interface Fruit { public void price(); public void weight() ; }
从上面我们可以看出接口就是抽象类的升级版,由于该类的方法全是抽象方法,所以把abstract换成interface。而接口的方法必须由子类才能实现。 继承 继承基本类,可以继承父类的方法,也可以从些,也可以扩充。下面是实现接口基本类的类:
代码如下: public class Apple extends Fruit { }
该类中就有Fruit基本类中的两个方法:price()和weight(); 继承抽象类,必须实现抽象类的抽象方法,可以修改父类的方法,和添加方法。下面是继承抽象类的类:
代码如下: public class Apple extends Fruit { @Override public void weight() { System.out.println("水果重量"); } }
该类继承类Fruit的price()方法,同时实现了Fruit抽象类的weight()方法。 继承接口类(也就实现接口),必须实现接口类的所有的抽象类和添加了。下面是继承接口的类:
代码如下: public class Aple implements Fruit { @Override public void price() { System.out.println("水果价格"); } @Override public void weight() { System.out.println("水果重量"); } }
该类是实现Fruit接口的所以抽象方法。 Java只支持单继承(继承基本类和抽象类),但是我们可以用接口来实现(多继承接口来实现) 如:public class Apple extends Fruit implements Fruit1, Fruit2{} 一般我们继承基本类和抽象类用extends关键字,实现接口类的继承用implements关键字。其实继承是很简单的,可以就是没有弄清这两个关键字,当我们弄清楚也就是比较简单的。 接口也可以继承接口如:public interface Fruit1 extends Fruit {}这是接口中的多重继承,同理抽象类和基本类也同理。如果我们把基本类添加final修饰,也就定义该类不被继承,该类不能作为父类。同时基本类的方法可以用public 、private、proptected来修饰方法,用final来阻止继承该方法。 这里只是自己的理解,有些地方时用词不当的,只是觉得这样用词更好的理解,请大家谅解。有些地方由于不是这里的重点,没有讲清楚,希望大家通过其他方式了解。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 接口继承和实现继承 的文章

 

随机推荐