java类的继承关系
‘壹’ 什么是类的继承性java中子类和父类有什么关系
1,不是继承性吧,应是传递性,如a继承b,b继承c,既a继承c,子类可以继承父类中的属性和方法(除私有的)。
‘贰’ java语言的类间的继承关系是
class A extends B { .... }
就是 A 继承 B.
B称为A的 superclass, A称为B的 subclass.
每一个class 只能直接继承一个 super class.
‘叁’ java中的继承关系
A答案本身就是有错的,interface是定义接口,下边就不能用extends,而应该用implements
B答案的作用是:son这个类继承了Father这个类,就体现了继承关系
C答案是先定义了一个抽象类:Colorable,下边Shape这个类继承了Colorable这个类。抽象类是可以被继承的。也体现了继承关系
D答案只是把Species的一个引用作为了Animal类的一个属性。没有体现继承。而且跟继承一点关系也没有
E答案是Employee实现了Person接口,并会实现接口里的所有抽象方法。所以也是体现了继承的
‘肆’ java中的继承定义。
继承是面向对象最显着的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。比如可以先定义一个类叫车,车有以下属性:车体大小,颜色,方向盘,轮胎,而又由车这个类派生出轿车和卡车两个类,为轿车添加一个小后备箱,而为卡车添加一个大货箱。
java继承特征:
(1)继承关系是传递的。若类C继承类B,类B继承类A(多继承),则类C既有从类B那里继承下来的属性与方法,也有从类A那里继承下来的属性与方法,还可以有自己新定义的属性和方法。继承来的属性和方法尽管是隐式的,但仍是类C的属性和方法。继承是在一些比较一般的类的基础上构造、建立和扩充新类的最有效的手段。
(2)继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系。
(3)继承提供了软件复用功能。若类B继承类A,那么建立类B时只需要再描述与基类(类A)不同的少量特征(数据成员和成员方法)即可。这种做法能减小代码和数据的冗余度,大大增加程序的重用性。
(4)继承通过增强一致性来减少模块间的接口和界面,大大增加了程序的易维护性。
(5)提供多重继承机制。从理论上说,一个类可以是多个一般类的特殊类,它可以从多个一般类中继承属性与方法,这便是多重继承。Java出于安全性和可靠性的考虑,仅支持单重继承,而通过使用接口机制来实现多重继承。
‘伍’ java继承中的关系有哪些 区别 相同之处
你的问题有两种理解方法:
1,java中“继承”与“实现接口”的区别与联系是什么
2,java中“继承接口”与“实现接口”的区别与联系是什么
不知道你是哪种,我分别回答吧:
1,“继承”与“实现接口”在java里面是面向对象的两种实现方式,“继承”在java里面只支持单一继承,而“实现接口”可以实现多个接口,而java里一般是推荐后者的
2,“继承接口”即接口之间的继承也只能是单一继承关系,子接口自动具有父接口的所有抽象数据和方法,但这些方法还都是抽象的;而“实现接口”是由类来具体化一个接口中的方法,可以同时实现多个接口,且这些方法应该是具体的(抽象类中的抽象方法除外)。
‘陆’ 如何定义JAVA继承的关系
首先是确定你的对象之间的关系,一般情况下都是由子类来继承父类的东西(比如属性方法等)在继承的时候用extend关键字来表示比如有两个类A和B,A继承B那么如下:
public
class
A
{
}
public
class
B
extend
A
{
}
这样的话B类就可以继承和拥有A的所有属性和方法;有不明白的就到这个网址看下吧!http://wenku..com/view/69de2c37f111f18583d05a62.html
‘柒’ Java语言的类间的继承关系是
子类通过extends 关键字继承父类,便拥有了父类的方法和变量,并可以根据实际情况,对父类的方法进行覆盖(override),继承同一个父类的子类,均拥有父类的特征。
‘捌’ JAVA中什么是继承
继承在本职上是特殊一般的关系,即常说的is-a关系。子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的 一些属性或方法。
1.Java继承的语法格式:
Java继承的关键字是:extends
public class 子类名 extends 父类名{...}
如: public class UNStudent extends Student {...} 注:1.子类又称超类,拓展类 ;父类又称基类。
2.Java中类的继承只能是单继承(单根继承),即一个类只能继承一个父类,但是一个类可以由多个类来继承它。
3.Java会给每一个没有设置父类的类,自动添加一个父类就是Object 。
(8)java类的继承关系扩展阅读:
一、子类继承父类的结果
1.子类继承父类后,继承到了父类所有的属性和方法。注:是所有。
2.子类可调用的方法也要看情况而定:
子类和父类在同一个包下时 “子类和子类的对象”可以调用父类的默认的,受保护的,公有的属性以及方法。
子类和父类在不同的包下时,在子类中可以调用受保护的,公有的属性以及方法,而子类的对象可以调用受保护的,公有的属性以及方法。
二、方法的重写
1.当子类和父类都有某种方法,而子类的方法更加要求细致,或者实现功能不同,就需要方法的重写。
2.重写条件
①必须要存在继承关系;只有继承之间的关系才能有方法的重写
②方法的返回值类型,方法名,参数个数,参数类型,参数顺序,必须要完全一致;
如:父类中方法 public void play (int n ; String s){方法体1...}
重写后的子类方法public void play(int n ; String s){方法体2...}
3.子类重写方法时的访问修饰符可以大于或者等于父类方法的访问修饰符。
4.重写后的方法会被优先调用。
三、自动转型
自动转型的实现要求有继承关系
格式如下:父类名 对象名 = new 子类构造方法;
如:Student stu = new UNStudent;
而强制转型格式如下:子类名 对象名 = (子类名)父类对象名
如:UNStudent un = (Student)stu;
自动转型可以拓宽方法的作用访问域
在使用自动转型后,子类自己定义的方法是不能在自动转型后执行;
原因是因为Java的编译机制,它会优先判断父类中是否存在该方法,如果存在则通过编译,如果不存在则报错。
第二种自动转型:转型后只需要不同类的不同对象调用想吐的方法,很方便!
/**访问修饰符 返回值数据类型 方法名(父类类型 参数名,...){
调用方法。
}
父类名 对象名 = new 子类名;
子类名 对象名 = new 子类名;
方法名(对象名);
*/
比如拿到驾驶证为A2的人,可以驾驶重型货车,当然也可以驾驶大型货车,中型货车,小型货车,小客车,小轿车,摩托车... 可以选择第二种自动转型的方法,便于调用同一个方法。
自动转型好处:1.减少冗余代码;2.在方法设置参数时,扩大访问范围。
四、多态
多态是由方法重载,继承,方法重写,自动转型等技术的组合。
五、为什么需要继承?
1.提高代码的重用性。
2.提高程序的扩展性。
JAVA继承总结
‘玖’ java中为什么要使用继承
1)子类继承父类可以获取父类全部的成员变量和方法
2)减少代码的冗余,提高类的复用,提升程序员的内开发效率;
3)继承关系是传递的,只有一个直接父类但是可以容有无数个间接父类,每一层都可以根据自身需要,扩展代码实现功能
4)各种设计模式的基础之一
‘拾’ java中,什么情况下需要将两个类定义为继承关系
在一个类既需要另一个类里的成员变量和方法,也需要自己不同于另一个类的成员和方法时,可以将两个类定义为继承关系。
继承的概念是:继承是子类继承父类的特征和行为,使得子类对象具有父类的实力域和方法,使得子类具有父类相同的行为。
继承是java实现多态的必要条件。在Java的继承中,只能单继承,也就是一个子类只能有一个父类,一个类可以被多个子类继承。并且支持多重继承,例如A继承B,B就拥有了A的属性和方法,并且B也有自己的属性和方法,C继承B,C就同时有了A和B的属性和方法。并且C也能有自己的属性和方法。
在具体业务写代码时,继承也给我们带来极大的方便,如果没有继承,相同的属性在每个类中都需要写一遍,非常的浪费时间。如果把一些共有的属性和方法写成一个父类,每个子类去继承这个父类,就拥有了我们一些必要的属性和方法。同时我们又能在不同的子类中去写上他们特有的东西。还有一个好处是,如果某一个公共属性发生了变化,或者说增加了某一个公共属性,如果没有继承,你就需要每个类都去做一遍修改,如果有了继承,你只需要去修改父类,所有子类都会跟着变化,极大的节省了时间。
如果只是单单用两个类来说,如果一个类中的属性和方法正好是另一个类所需要的,另一个类也需要自己特有的属性和方法,就可定义为继承关系。