网站首页 > java教程 正文
面向对象是Java学习中的一个重要部分,继承作为Java面向对象编程技术的一块基石,是我们学习面向对象的重要基础铺垫,今天小编将为大家带来大数据编程入门:Java继承这篇文章。
一、继承的概念
继承作为Java面向对象编程技术的一块基石,能够允许创建分等级层次的类。
继承就是子类或者父类的特征和行为,使得子类不仅具有父类的实例域和方法,还从父类继承方法,具有与父类相同的行为。
1、生活中的继承
在上图中可以看到,兔子和羊属于食草动物类,狮子和豹子属于食肉动物类,而它们又都属于动物类。所以在继承中,父类更通用,子类更具体。
虽然食草动物和食肉动物都属于动物类,但是两者的属性和行为上都有着不同点,所以子类会具有父类的一般特性也会具有自身的特性。
2、类的继承格式
在Java中,可以通过extends关键字申明一个类是从另一个类继承而来的,一般形式如下所示:
class 父类 {
}
class 子类 extends 父类 {
}
3、为什么需要继承
下面我们将通过实例来说明这个需求。
开发动物类,其中动物分别为企鹅和老鼠,要求如下所示:
企鹅:属性(姓名,id),方法(吃,睡,自我介绍)
老鼠:属性(姓名,id),方法(吃,睡,自我介绍)
企鹅类:
老鼠类:
从上面两个实例可以看出两段代码存在重复的内容,这样就导致代码量大而臃肿,维护性不高,所以需要从根本上解决这个问题,这个时候就需要用到继承了,从两段代码中提取相似部分组成一个父类:
Animal类就可以作为一个父类,接下来看看企鹅类和老鼠类继承过后的代码。
企鹅类:
老鼠类:
4、继承类型
需要注意的是,Java不支持多重继承,但是支持多重继承。
二、继承的特性
a.子类具有非私有父类的属性和方法。
b.子类可以有自己的属性和方法,也就是说,子类可以扩展父类。
c.子类可以用自己的方式实现父类的方法。
d.Java继承是单继承,但也可以是多继承。单一继承意味着一个子类只能继承一个父类。多重继承意味着,例如,类B继承类A,类C继承类B。所以根据这个关系,B类是C类的父类,A类是B类的父类。这是Java继承不同于C++继承的一个特性。
e.它改善了类之间的耦合(继承的缺点是,耦合越高,代码之间的连接越紧密,代码独立性越差)。
三、继承关键字
继承可以通过使用关键字extends和implements来实现,所有类都是从java.lang.Object继承的。当一个类没有两个继承的关键字时,它将默认继承对象(这个类在java.lang包中,因此不需要导入)祖先类。
1、extends关键字
在Java中,类继承是单个继承,即一个子类只能有一个父类,因此extends只能继承一个类。
2、implements关键字
使用implements关键字可以变相使java具有多重继承的特性。当使用范围是类继承接口时,可以同时继承多个接口(接口之间用逗号分隔)。
3、super与this关键字
super关键字:我们可以使用Super关键字访问父类的成员来引用当前对象的父类。
This关键词:对自己的引用。
运行结果:
4、final关键字
final关键字声明类可以将该类定义为final类,不能继承;或用于修改不能由子类重写的方法:
a.声明类:
final class 类名 {//类体}
b.声明方法:
修饰符(public/private/default/protected) final 返回值类型 方法名(){//方法体}
注意:实例变量也可以定义为final,并且不能修改定义为final的变量。声明为final类的方法会自动声明为final,但实例变量不是final
四、构造器
子类不继承父类的构造函数(构造函数或构造函数),它只调用(隐式或显式)。如果父类的构造器有参数,则必须通过子类的构造器中的super关键字显式调用父类的构造器,并提供适当的参数列表。
如果父构造函数没有参数,则不必使用super关键字调用子类构造器的父类构造器,系统会自动调用父类的无参数构造器。
实例:
运行结果:
以上就是关于大数据编程入门:Java继承的全部内容了,希望这篇文章能够帮助到大家~
- 上一篇: 继承(java)(继承java关键字)
- 下一篇: Java核心知识之接口、继承和多态-继承讲解
猜你喜欢
- 2024-10-03 Java中的继承关系(java中的继承关系是)
- 2024-10-03 Java面向对象之继承(java面向对象继承例题)
- 2024-10-03 「Java入门」十八 面向对象的三大特征之一-继承
- 2024-10-03 [Java基础]09.继承(java基础案例教程第二版)
- 2024-10-03 Java中的继承、封装、多态 #Java开发
- 2024-10-03 Java中的继承与组合(java中继承的概念以及使用继承的好处)
- 2024-10-03 《极简Java新手编程之道》8.1.1 Java语言中实现继承
- 2024-10-03 Java:类与继承(java类与继承抽象类)
- 2024-10-03 Java基础——面对对象-继承(面对对象的特征有哪些方面java基本数据类型有哪些)
- 2024-10-03 你真的熟悉Java中的继承与多态?给你几分钟能回答上来?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)