导航:首页 > 编程语言 > java继承和接口

java继承和接口

发布时间:2022-03-06 20:40:50

A. java 实现接口和继承有什么区别

首先的话,在 Java 中应该说“扩展”(extend)而不是“继承”(inherit),尽管知道它实现上就是C++那种继承,但逻辑上是不完全相同的。
再考虑到接口即协议,对接口的扩展,或是说对协议的扩展,实际上就包括了对其公用方法的扩展以及对其定义的扩展两个方面,其中扩展接口定义实际上即为对协议添加更多的约束,在减少了其可能包含的类的种类的同时也给了这些类更清晰的定义,也就允许用户基于这更清晰的定义做出更多的操作了。
所以呢,实际类的扩展实际上和继承是相同的,子类确实继承了父类的实现,但接口的扩展则只会获取到父接口的方法声明,继承的意味并不明显,更多的实际上在于对其原协议的扩展,因此应将子接口和父接口间的关系视为扩展而不单单是继承
其实就是多去思考为什么在Java这叫扩展不叫继承,很多问题就迎刃而解了

B. 接口是否可继承接口(java)

Java语法中,接口可以继承接口,抽象类可以实现接口,抽象类可以继承实体类。

Java语法中,使用interface定义一个接口,使用class定义一个类,使用关键字abstract + class定义一个抽象类。以下分别对这3个知识点进行解析:

1、接口可以继承接口

接口可以多继承接口,例如:Interface1 Extends Interface2, Interface3, Interface4……

代码示例为:

public interface Interface1 {

public void method1();

}

public interface Interface2 extends Interface1 {

public void method2();

}

public interface Interface3 extends Interface1, Interface2 {

public void method3();

}

(2)java继承和接口扩展阅读:

1、Java继承或实现接口时需要遵循的原则:

(1)类优先于接口。 如果一个子类继承的父类和接口有相同的方法实现。 那么子类继承父类的方法。

(2)子类型中的方法优先于父类型中的方法。

(3)如果以上条件都不满足, 则必须显示覆盖/实现其方法,或者声明成abstract。

2、Java实现多继承的方式:

(1)Java中一个类不能继承多个具体class。

(2)一个类只可继承自一个具体 class,但可实现多个接口。 interface不涉及到实现细节,不与任何存储空间有关连。新类可继承自一个具象class,其余继承都得是interfaces。

(3)outer class不可继承自多个具体class,可在其内部设多个inner class,每个inner class都能各自继承某一实现类。inner class不受限于outer class是否已经继承自某一实现类。

(4)inner class可以说是多重继承问题的完整解决方案。一个类不能继承自多个一般类。但我们可以让其内部的多个inner class各自继承某一实现类达到类似的目的。

C. JAVA继承和接口

举个例子

首先我有一个接口叫做SaveUserService,里面有个方法较public void save()然后我又写了一个JDBCSaveUserImpl实现上述接口,这样我必然要重写这个save方法,由于方法名我定义了脚JDBC我必然要在代码里面写上各种连接语句(没有那么变态的写了jdbc不用jdbc编程的)

而我在客户端一侧的所谓试图层如果要保存用户信息自然要调用save方法,这个时候我要先声明一个SaveUserService接口的引用然后给他赋值成JDBCSaveUserImpl的实例,也就是new JDBCSaveUserImpl();(当然正式项目不会这么new,一定会用各种模式比如工厂模式,或者spring的IoC把这个实力注入进来)

调用的时候自然用的是JDBCSaveUserImpl里面的save方法,但是现在需求变了,要用Hibernate来连数据库,怎么办?自然是写一个HibernateSaveUserImpl里同样实现上述的接口,这时候save方法里面就写hibernate的内容了,然后在修改spring的配置文件让Ioc注入新的实现类实例

哇,前台的各层里面内容一点都不用改,这不就是传说中的高内聚,松耦合,提高代码的重用性么?如此happy并且偷懒的方法自然要广泛弘扬了

这里只举了一个类的例子,设想下如果是300个功能的大系统,如果你的领导万一哪天抽风要换实现方式,难道你每个类都改?300个功能可能会调用上千次实例,每个都改必然是死定了,天天加班到12点,但是如果用了spring加接口加多层架构,你只需要改中间某些层然后修改下spring的配置文件就ok了

如果都这么说了还没明白就继续学,学到完整做个工程时候就明白了

D. Java中,接口继承接口时,用implements与extends有什么区别

接口既可以继承其他接口但不能实现其他接口。
也就是说你可以这些写:
public interface secondInterface extends FirstInterface
但是你绝对不能这么写:
public interface Collection implements Iterable<T>
接口无法实现另外一个借口,只有类才会实现接口。

E. java继承和接口的区别

1,一个类只能继承一个类,但是可以实现多个接口。
2,依赖倒转原则: 依赖抽象(例如接口),不要依赖于实现。
3,合成/聚合复用原则(CARP): 尽量使用合成/聚合,而不是继承关系达到复用的目的。
4,接口传达的意思是:拥有某种功能,能干嘛,比如:Serializable代表可序列化的。
5,继承传达的是意思是:is-a,比如:猫 是一个 动物,猫就是动物的子类。

F. java中继承与实现接口的区别与联系是什么啊知道的说一下,我这里谢谢了。

继承是子类继承父类的方法,字段等,只能单继承,实现接口是实现父类定义好的一些未实现的方法,然后在子类实现,可以多实现

G. java 接口和继承的区别

有一定的相似性,但从根本上来说是不同的。。。

继承的意思就是多种类型的事务抽象出的一种共性,继承了这个父类的子类就可以不再重写共性的方法、属性,可以直接使用;
而接口的目的在于定义一个规则,大家来实现这个接口,就是必须满足这些给点的规则。。。

H. Java中继承和接口的区别

晕。ls几位就对接口这么理解啊??
继承体现父子关系,父亲有的儿子也有,代码重用率高。
而接口往往是反向用的。举个例子就明白了。
例如我们要建立两辆车的类,并提供相同的方法。
先建立一个车的接口,提供一个s()方法。
interface car{
public void s();
}
接着建立两个具体的车的类,实现这个接口:
class benz() implements car{
public void s(){
System.out.println("This is a benz!");
}
}
class ford() implements car{
public void s(){
System.out.println("This is a ford!");
}]}
public class test{ //建立主类
public static void main(String args[]){
//如果没有接口,我们要生成不同的车就麻烦了,要写大堆的判断代码,这个例子体现不出来。
//我们可以直接利用接口生成车
例如:
car car1=new benz();
car1.s(); /直接用car生成车就成了,不用去判断到底是什么车。有个很经典的例子我已经搞忘了。
car car2=new ford();
car2.s();
}
}

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela

I. Java继承和接口

你好,飞行应该是接口,动物是人和鸟的父类,人是超人的父类,鸟和超人实现飞行的接口

J. java中接口与接口之间是继承还是实现

接口与接口之间只能是继承,不能是实现,要实现接口需要定义一个类来实现这个接口,并且这个类必须重写这个接口的所有方法。而实现接口时,一次则可以实现多个接口。希望可以帮助到你,望采纳!

阅读全文

与java继承和接口相关的资料

热点内容
优信二手车解压后过户 浏览:63
Windows常用c编译器 浏览:780
关于改善国家网络安全的行政命令 浏览:835
安卓如何下载网易荒野pc服 浏览:656
javainetaddress 浏览:106
苹果4s固件下载完了怎么解压 浏览:1005
命令zpa 浏览:288
python编译器小程序 浏览:946
在app上看视频怎么光线调暗 浏览:541
可以中文解压的解压软件 浏览:595
安卓卸载组件应用怎么安装 浏览:914
使用面向对象编程的方式 浏览:341
程序员项目经理的年终总结范文 浏览:932
内衣的加密设计用来干嘛的 浏览:434
淮安数据加密 浏览:294
魔高一丈指标源码 浏览:984
松下php研究所 浏览:169
c回调java 浏览:402
梦幻端游长安地图互通源码 浏览:747
电脑本地文件如何上传服务器 浏览:315