导航:首页 > 编程语言 > java的继承结构

java的继承结构

发布时间:2023-09-08 12:17:05

A. java中什么是继承

继承在本职上是特殊一般的关系,即常说的is-a关系。子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的 一些属性或方法。

1.Java继承的语法格式:

Java继承的关键字是:extends

public class 子类名 extends 父类名{...}

如: public class UNStudent extends Student {...} 注:1.子类又称超类,拓展类 ;父类又称基类。

2.Java中类的继承只能是单继承(单根继承),即一个类只能继承一个父类,但是一个类可以由多个类来继承它。

3.Java会给每一个没有设置父类的类,自动添加一个父类就是Object 。

(1)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继承总结

B. java中的继承是什么

Java继承是面向对象的最显着的一个特征。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。[1]
Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。比如可以分隔符先定义一个类叫车,车有以下属性:车体大小,颜色,方向盘,轮胎,而又由车这个类派生出轿车和卡车两个类,为轿车添加一个小后备箱,而为卡车添加一个大货箱。
类和类之间的继承关系可以用UML符号表示,其中父类又叫超类或基类,子类又叫派生类。父类是子类的一般化,子类是父类的特化(具体化)。
JAVA不支持多继承,单继承使JAVA的继承关系很简单,一个类只能有一个父类,易于管理程序,同时一个类可以实现多个接口,从而克服单继承的缺点。
在面向对象程序设计中运用继承原则,就是在每个由一般类和特殊类形成的一般——特殊结构中,把一般类的对象实例和所有特殊类的对象实例都共同具有的属性和操作一次性地在一般类中进行显式的定义,在特殊类中不再重复地定义一般类中已经定义的东西,但是在语义上,特殊类却自动地、隐含地拥有它的一般类(以及所有更上层的一般类)中定义的属性和操作。特殊类的对象拥有其一般类的全部或部分属性与方法,称作特殊类对一般类的继承。
继承所表达的就是一种对象类之间的相交关系,它使得某类对象可以继承另外一类对象的数据成员和成员方法。若类B继承类A,则属于B的对象便具有类A的全部或部分性质(数据属性)和功能(操作),我们称被继承的类A为基类、父类或超类,而称继承类B为A的派生类或子类。
继承避免了对一般类和特殊类之间共同特征进行的重复描述。同时,通过继承可以清晰地表达每一项共同特征所适应的概念范围——在一般类中定义的属性和操作适应于这个类本身以及它以下的每一层特殊类的全部对象。运用继承原则使得系统模型比较简练也比较清晰。

C. java开发的项目中模块、包、类、接口的关系是什么

让我谈谈流程为导向,面向对象,这是两个思想流派,他们是能够实现的能力,使用该程序来完成一件事。
唯一的思维方式是不一样的。

面向过程的一件事,一个项目分解成一个函数的小功能。
面向对象的事情,作为一个小对象或这些对象之间的相互关系组成的一个小部分组成,构成了整个项目。

一切是一个面向对象的思想的对象,我,你,他也是。
“类”是一个抽象的对象,或进行了总结。例如,你可以为人类总结。
整体而言,类是抽象的虚拟对象是有生命的东西。
是一个类,我你他是对象。

一般的面向对象编程方法,设计一个类,然后创建一个这个类的对象。
经过这个对象的相关业务。
点:操作的对象,对象不要紧经营。

这里谈谈如何设计一个类,
类有一些封装的性质和功能。

面向过程的思想,程序通常是一个函数,这些函数的相互调用。
形成一个完整的方案来解决问题。其基本结构是:

函数()
{
......;
}

函数的两()
{
......;
}

......

主要功能()
{
......;
}



然而,在面向对象的思想是包在一起,形成一个类。


{
?函数A()
?{
?......;
?}

功能二()
?{
?......;
?}

?......
}



产生一个对象,那么这个类:从类的类名学生
方法是生成对象:学生S1;
在这里,s1是一个对象,它生产的对象可以是相关的操作。
操作方法,如:S1是函数();
等等。在这篇文章中的具体细节就不说了只说想。

这是普通的一点是,在具体实施过程中的类,然后生成一个对象,该对象来调用相关的操作。
如果在面向过程的功能封装成类,然后对象的操作。

A类包,它通常作为一个模块,其他类型的呼叫需要的时候。
类是一个抽象的,抽象的东西一些共同的特点,总结提出的公共部分的包一起。
包,已经上面说的,装在一个容器内的一些性质和功能。
在这里,我用一个游戏来解释:

假设我们想成为游戏内打怪的游戏类似,简单,怪不要打,只有玩的人。
他的血液不断减少,直至死亡。

所有的怪物在抽象的共同特点,所以我们得到了一个类:怪物
级怪物
{
??炭怪物名称;
?血液;

?怪物(怪物N,血打印)/ *构造函数* /
?{
怪物的名字吗?=怪物名称n;
?血=血N;
?}

毒打功能(?)
?{
?血液减少;
?}

?判断功能()
?{
?(血== 0)
?输出(“你赢了!”);
?}

?玩游戏()
?{
?(血> 0)
?{
?毒打函数();
??判断函数();
?}
?}
}


在这样一个怪物类属性的定义:怪物名称,血液和功能:结构殴打,确定
根据这种情况,可以产生一个对象。

一个类可以有任意数量的对象,区分这些对象,取决于构造函数。

让我们继续写我们的计划
主要的主要功能
无效的主要()
{
/ ******对象产生****** /?
?怪物怪物(“狼来了”,5000);
?怪物怪物(“老虎”,8000);
怪物怪物(“蛇”,3000);

开始我们的游戏?/ **为了几个对象** /
?怪物玩游戏();
?怪物玩游戏();
?怪物玩游戏();
}


然后主要的功能,我们已经建立了三个对象,它们共享一个类。
可以看到,类相当于一个组件,模块,我们需要建立它的对象,将是能够实现他的功率封装
可以。
这是面向对象的优点,可重复使用,不必每一个用于重写。

尽管如此,感觉,还是没有说明白,真的有点只能意味着说不出的感觉。
事实上,如果这本书,真正认真写了一些东西,他们可以理解,感到无形的。

阅读全文

与java的继承结构相关的资料

热点内容
为什么30岁还想转行程序员 浏览:378
推荐算法的使用 浏览:40
javaswing表格 浏览:470
sql和python处理excel 浏览:107
家用材料制作解压玩具 浏览:912
c盘解压失败可以用空间吗 浏览:465
3d循环音乐哪个app好 浏览:769
压缩文件zip怎么解压不了 浏览:392
如何看苹果appstore软件是否收费 浏览:463
android发送字符串 浏览:13
python3最好的书籍推荐 浏览:684
蓝牙模块与单片机连接 浏览:665
mssql命令大全 浏览:193
mpv服务器怎么样 浏览:599
服务器迁移后怎么恢复 浏览:249
在vfp中如何显示和隐藏命令 浏览:283
如何部署地图服务器 浏览:737
安卓系统云闪付哪个app好用 浏览:111
程序员一天完成几个需求 浏览:960
请运行命令来卸载oracle 浏览:243