Java初学者:技术文章(类的继承)

简介: Java是面向对象编程的语言,面向对象的主要目的之一是提供可重用的代码。设想当我们开发一个非常庞大的项目时,重用已有的代码比重新编写要好得多,而且还可以节省时间,避免在程序中引入新的错误所以使用继承可以提高代码的重用性与程序的扩展性。

              Java初学者:技术文章(类的继承)

Java是面向对象编程的语言,面向对象的主要目的之一是提供可重用的代码。设想当我们开发一个非常庞大的项目时,重用已有的代码比重新编写要好得多,而且还可以节省时间,避免在程序中引入新的错误所以使用继承可以提高代码的重用性与程序的扩展性。


一般情况下,通过继承派生出的类比设计新类要容易得多。



从一个类派生出另一个类时,原始类称为基类(父类),继承类称为派生类(子类,超类)。


Java中继承的语法格式为:


public class 类名(子类) extends 类名(基类) {


}



当一个子类继承一个父类时,继承的是父类中的属性和方法,并且子类也可以重写父类中的方法,甚至可以在子类中定义父类没有的属性和方法。这样就大大提高了程序的扩展性。



继承可以完成以下几项工作:


1、可以在已有类的基础上添加功能。


2、可以给类添加数据。


3、可以重写类的方法。


需要注意的是,java中一个类只能继承一个其他的类,也就是所谓的单继承。



上面提到了子类可以对父类的方法进行重写,当父类中的方法无法满足子类的需求时,我们需要重写父类的方法来满足我们的需求。



从上面的分析不难发现,重写父类中的方法必须满足以下几个条件:


1、必须要存在一个继承关系。


2、因为是对父类已有方法的重写,所以方法的返回值类型、方法名、参数个数、参数类型、参数顺序必须要和父类的完全一致。


3、子类方法的访问权限只能大于或等于父类方法的访问权限


4、重写方法中的代码和父类的不同。



需要注意的是:在用子类实例化对象调用方法时,调用的会是重写过后子类的方法,如果想要再调用父类的方法,则需要使用关键字super来调用。



下面通过一个简单的例子来说明类的继承的使用:



例:迪迦奥特曼和小怪兽哥斯拉进行PK,直到一方的血量为0时结束战斗;


①:如果迪迦奥特曼胜利,则迪迦奥特曼要和盖亚奥特曼进行K,直到一方的血量为0时结束战斗,输出谁胜利了!


②:如果小怪兽哥斯拉胜利,则小怪兽哥斯拉要和小怪兽A进行K,直到一方的血量为0时结束战斗,输出谁胜利了!



分析:


在此例子下不难发现所涉及到的所有对象(迪迦,盖亚,哥斯拉,小怪兽A)都有共同的属性即:血量,名字,攻击力。他们也都有共同的行为即攻击对方。


所以我们可以定义一个父类(Fighter),父类中定义有属性血量,名字,攻击;定义fight攻击方法。


然后再定义两个子类(分别是小怪兽和奥特曼)继承Fighter类,需要注意的是,在此情景中,两个子类所实例化的对象所要实现的方法和父类所定义的相同,因此没有选择方法的重写。


最后在主程序中用类名初始化对象,给各属性赋值,之后按照要求实现该情景!



以下是代码的实现:


父类Fighter

15.png


子类Ult

16.png


子类Gri

17.png

Manager类

18.png


19.png




 


相关文章
|
20天前
|
存储 监控 安全
单位网络监控软件:Java 技术驱动的高效网络监管体系构建
在数字化办公时代,构建基于Java技术的单位网络监控软件至关重要。该软件能精准监管单位网络活动,保障信息安全,提升工作效率。通过网络流量监测、访问控制及连接状态监控等模块,实现高效网络监管,确保网络稳定、安全、高效运行。
46 11
|
30天前
|
XML Java 编译器
Java注解的底层源码剖析与技术认识
Java注解(Annotation)是Java 5引入的一种新特性,它提供了一种在代码中添加元数据(Metadata)的方式。注解本身并不是代码的一部分,它们不会直接影响代码的执行,但可以在编译、类加载和运行时被读取和处理。注解为开发者提供了一种以非侵入性的方式为代码提供额外信息的手段,这些信息可以用于生成文档、编译时检查、运行时处理等。
63 7
|
12天前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
2月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
160 57
|
13天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
30天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
2月前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
65 8
|
2月前
|
Java
在Java中,接口之间可以继承吗?
接口继承是一种重要的机制,它允许一个接口从另一个或多个接口继承方法和常量。
130 1
|
2月前
|
监控 前端开发 Java
【技术开发】接口管理平台要用什么技术栈?推荐:Java+Vue3+Docker+MySQL
该文档介绍了基于Java后端和Vue3前端构建的管理系统的技术栈及功能模块,涵盖管理后台的访问、登录、首页概览、API接口管理、接口权限设置、接口监控、计费管理、账号管理、应用管理、数据库配置、站点配置及管理员个人设置等内容,并提供了访问地址及操作指南。
|
2月前
|
Java Android开发
Eclipse 创建 Java 类
Eclipse 创建 Java 类
31 0