「java字段继承」java里继承的概述

博主:adminadmin 2023-01-07 18:33:08 844

今天给各位分享java字段继承的知识,其中也会对java里继承的概述进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Java 是单继承的;那么如何完成“继承多个类”这样的效果?

新定义一个类,有两个属性,属性A是基类A,属性B是基类B。前端嗲用api后你将参数弄到一个A一个B上,在set到C里

ClassC{

private 基类A  a;

private 基类B   b;

}

java 实体类 注解 继承问题!

你这属于继承映射,不能简单的在实体类中配置@Entity,你应该使用Hibernate

Annotation中的《映射继承关系》具体怎么配置,自己去HibernateAnnotation文档查下

2.2.4.2.

每个类层次结构一张表(第一种,一共三种)

整个继承层次结构中的父类和子类的所有属性都映射到同一个表中,

他们的实例通过一个辨别符(discriminator)列来区分.:

//父类

@Entity

//继承类型使用的是一张表,继承映射分为3个类型,具体自己查

//继承映射成一张表的表结构是

父类字段+子类字段+一个鉴别字段(因为可以有多个子类继承父类,这个鉴别字段用于分别一条数据记录是属于那个子类的)

@Inheritance(strategy=InheritanceType.SINGLE_TABLE)

//鉴别字段

name="鉴别字段名称"

discriminatorType

鉴别字段数据类型

@DiscriminatorColumn(

name="planetype",

discriminatorType=DiscriminatorType.STRING

)

//鉴别字段值=Plane

,在保存Plane时,默认表中鉴别字段的值为Plane

//鉴别值不必非与实体类同名,随意起,别与其他重复就行

@DiscriminatorValue("Plane")

public

class

Plane

{

...

}

//子类

@Entity

//鉴别字段值=A320,在保存A320时,默认表中鉴别字段的值为A320

Plane@DiscriminatorValue("A320")

public

class

A320

extends

Plane

{

...

}

java 注解可以继承注解吗

这个是没有实现的。

解释:注释本身具有针对性,也就是注释是自定义的,根据实际需要可以修改,此类内容并没有固定的内容规范,所以是没办法进行注释继承的,只能继承方法,不能继承注释的。

整个继承层次结构中的父类和子类的所有属性都映射到同一个表中, 他们的实例通过一个辨别符(discriminator)列来区分.:

//父类

@Entity

//继承映射成一张表的表结构是 父类字段+子类字段+一个鉴别字段(因为可以有多个子类继承父类,这个鉴别字段用于分别一条数据记录是属于那个子类的)

@Inheritance(strategy=InheritanceType.SINGLE_TABLE)

//鉴别字段 name="鉴别字段名称" discriminatorType 鉴别字段数据类型

@DiscriminatorColumn(

name="planetype",

discriminatorType=DiscriminatorType.STRING

扩展资料:

Annotation(注解)是JDK1.5及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注解是以‘@注解名’在代码中存在的,根据注解参数的个数,可以将注解分为:标记注解、单值注解、完整注解三类。

都不会直接影响到程序的语义,只是作为注解(标识)存在,可以通过反射机制编程实现对这些元数据(用来描述数据的数据)的访问。另外,可以在编译时选择代码里的注解是否只存在于源代码级,或者它也能在class文件、或者运行时中出现(SOURCE/CLASS/RUNTIME)。

参考资料来源:百度百科-Java 注解

java中的继承是什么

Java继承是面向对象的最显著的一个特征。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。[1]

Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。比如可以分隔符先定义一个类叫车,车有以下属性:车体大小,颜色,方向盘,轮胎,而又由车这个类派生出轿车和卡车两个类,为轿车添加一个小后备箱,而为卡车添加一个大货箱。

类和类之间的继承关系可以用UML符号表示,其中父类又叫超类或基类,子类又叫派生类。父类是子类的一般化,子类是父类的特化(具体化)。

JAVA不支持多继承,单继承使JAVA的继承关系很简单,一个类只能有一个父类,易于管理程序,同时一个类可以实现多个接口,从而克服单继承的缺点。

在面向对象程序设计中运用继承原则,就是在每个由一般类和特殊类形成的一般——特殊结构中,把一般类的对象实例和所有特殊类的对象实例都共同具有的属性和操作一次性地在一般类中进行显式的定义,在特殊类中不再重复地定义一般类中已经定义的东西,但是在语义上,特殊类却自动地、隐含地拥有它的一般类(以及所有更上层的一般类)中定义的属性和操作。特殊类的对象拥有其一般类的全部或部分属性与方法,称作特殊类对一般类的继承。

继承所表达的就是一种对象类之间的相交关系,它使得某类对象可以继承另外一类对象的数据成员和成员方法。若类B继承类A,则属于B的对象便具有类A的全部或部分性质(数据属性)和功能(操作),我们称被继承的类A为基类、父类或超类,而称继承类B为A的派生类或子类。

继承避免了对一般类和特殊类之间共同特征进行的重复描述。同时,通过继承可以清晰地表达每一项共同特征所适应的概念范围——在一般类中定义的属性和操作适应于这个类本身以及它以下的每一层特殊类的全部对象。运用继承原则使得系统模型比较简练也比较清晰。

java中的继承

当然有

father a = new son 是属于父类引用指向了子类对象,java把这种把子类对象赋给父类引用变量称之为向上转型

区别:给你举个例子

比如,father类有一个eat()方法,son类继承了father类,也就拥有了eat()方法,并同时定义了自己的方法drink().如果是father a = new son ,则你只能调用属于father 的方法eat(),而不能调用son的方法drink().也就是说虽然变量a 指向了对象 son ,但由于它编译时的类型是father,所以它不能调用属于son的方法,尽管变量a运行时的类型是son.

而son a = new son中的a则可以调用属于它自己的方法drink().和它继承的方法eat(),因为a 这个引用变量编译时的类型和运行时的类型都是son.

再说的大众些,father a = new son 是以父亲的角度看儿子,由于父子之间有继承关系,你是创造了一个儿子对象并把它当父亲用,所以你只能调用属于父亲的方法,而son a = new son就是你是创造了一个儿子对象并把它当儿子,所以你可以调用属于儿子的方法和他所继承父亲的方法

以后你理解了多态以后,就好理解这个问题了

关于java字段继承和java里继承的概述的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。