课时66:案例分析一(学生类)

简介: 今天我分享的是关于 Java 中继承概念的案例分析(学生类)。主要分为以下三部分。1. 案例要求阐述2. 代码实现展示3. 编译执行与目的

课时 66:案例分析一(学生类)

 

摘要:今天我分享的是关于 Java 中继承概念的案例分析(学生类)。主要分为以下三部分。

1. 案例要求阐述

2. 代码实现展示

3. 编译执行与目的

 

01. 案例要求阐述

 

image.png

接下来,我们来看关于继承的一些相关案例。通过以下几个简短的程序要求,巩固继承的概念。对于程序开发而言,简单的 Java 类是最基础的组成部分,也是融合各种概念的最佳方式。在当前阶段,我们暂不关注复杂的逻辑,仅需按照基本的 Java 方式来解决问题。

 

首先,进行第一个案例分析。此案例要求编写一个 Person 类和一个 Student 类。 Student 类包含四个私有属性,分别为 name(字符串类型)、 address (字符串类型)、 sex (字符类型)以及 age (整型),特别注意, sex 的类型为字符型。


此外,Student 类需具备一个四参数构造方法、一个两参数构造方法、一个无参数构造方法,以及一个用于显示信息的输出方法,这些要求相对基础。


第二个要求是, Student  类继承Person 类,并增加成员属性。新增的成员属性为 Math 和 English ,用于存储数学和英语成绩。同时, Student 类还应具备六参数构造方法、两参数构造方法和无参数构造方法,并需重写输出方法,以显示所有属性信息。

 

02.代码实现展示

 

image.png

在编写这些类时,需明确,在程序类开发的初始阶段,无需考虑子类问题,仅专注于完善程序功能和定义即可。依据此思路,我们首先定义 Person 类。现在开始编写代码,新建一个 JavaDemo 文件,核心操作代码如下:

java
class Person {
    private String name;
    private String address;
    private char sex;
    private int age;
    // 无参构造方法
    public Person() {
    }
    // 两参构造方法
    public Person(String name, String address) {
        this.name = name;
        this.address = address;
    }
    // 四参构造方法
    public Person(String name, String address, char sex, int age) {
        this.name = name;
        this.address = address;
        this.sex = sex;
        this.age = age;
    }
    // 获取信息方法
    public String getInfo() {
        return "姓名:" + this.name + ",地址:" + this.address + ",性别:" + this.sex + ",年龄:" + this.age;
    }
}

完成 Person 类的编写后,第二步是让 Student 类继承 Person类。继承的主要特点是,一个子类只能继承一个父类,并且可以扩充自身的新属性。为表示成绩,我们在 Student 类中添加 Math 和English属性,并设置构造方法,包括无参构造方法、六参构造方法和两参构造方法。

java
class Student extends Person {
    private double math;
    private double english;
    // 无参构造方法
    public Student() {
    }
    // 六参构造方法
    public Student(String name, String address, char sex, int age, double math, double english) {
        super(name, address, sex, age);
        this.math = math;
        this.english = english;
    }
    // 两参构造方法
    public Student(String name, String address) {
        super(name, address);
    }
    // 重写获取信息方法
    @Override
    public String getInfo() {
        return super.getInfo() + ",数学成绩:" + this.math + ",英语成绩:" + this.english;
    }
}
代码编写完成后,在主程序中实例化Student类并调用相关方法。
java
public class JavaDemo {
    public static void main(String[] args) {
        Student stu = new Student("张三", "天安门", '男', 12, 78.99, 89.98);
        System.out.println(stu.getInfo());
    }
}

image.png

 

03.编译执行与目的

 

完成代码编写后,进行编译和执行操作。首先,通过命令“cd m2”进入相关目录,然后使用“javac JavaDemo.java” 命令进行编译,最后使用 “java JavaDemo” 命令执行程序。


执行后,可观察到程序正常运行。通过此案例,主要目的是帮助大家复习和巩固基础概念,案例操作过程涵盖了类对象的实例化、构造方法的调用以及方法的重写等知识点。

相关文章
|
9月前
| 和 || 的区别详解及应用场景对比
本文详细解析了编程中“|”与“||”的区别:|为按位或运算,适用于数值计算;||为逻辑或运算,用于布尔判断,且具有短路特性(左表达式为真时右表达式不计算)。结合实例说明两者在条件判断、位操作等场景的应用,强调正确使用对程序效率的重要性。附面试资料链接供深入学习。
384 0
|
存储 安全 开发者
《探秘鸿蒙原生应用:分布式软总线如何开启跨设备协同新时代》
鸿蒙原生应用通过分布式软总线技术实现跨设备协同,带来便捷智能体验。该技术作为核心纽带,统一通信机制,整合多设备资源,支持自动发现连接、高效数据传输与设备抽象管理。实际应用场景涵盖多屏协同办公、智能家居控制及游戏跨设备对战等,极大提升生活与工作效率。尽管面临复杂环境稳定性及资源优化配置等挑战,未来分布式软总线将加速连接速度、强化安全性并优化资源管理,推动万物互联的智能生活发展。
706 0
|
8月前
|
传感器 监控 安全
生产管理核心:5口诀、6M1E、7要点、8工具、9字诀、10公式全解析
本文系统解析了企业生产管理中的核心方法与实战工具,涵盖班组长质量管控五大口诀、6M1E分析法、主管八大管理工具及十大质量指标等内容,为企业提升生产效率、控制质量风险提供全面指导。
静态方法中可以使用 this 关键字吗?
静态方法中的 `this` 关键字主要用于访问类的静态成员,但在使用时要清楚其指向和限制,避免因错误地使用 `this` 而导致程序出现意外的行为和错误。
|
Web App开发 安全 网络安全
tplink虚拟服务器设置方法
为了更全面地理解云服务及其在企业应用中的角色,推荐访问,他们提供了一系列高性能、安全稳定的云服务器解决方案,包括但不限于香港云服务器、高防服务器等,特别适合寻求全球化业务扩展的企业。蓝易云不仅拥有全球化的基础设施布局,还提供针对各种行业定制的全栈云解决方案,助力企业实现云端部署,跨越传统界限,即刻启航云端之旅。
1049 0
|
移动开发 监控 API
WebSocket API 详解与应用指南
WebSocket API 是HTML5的一种技术,它允许服务器与客户端建立持久的全双工连接,改变传统HTTP请求-响应模式,实现双向通信。API包括WebSocket构造函数、连接状态属性(如readyState)、方法(如send和close)及事件(如onopen和onmessage)。它简化了实时Web应用程序的开发,适用于在线聊天、实时数据监控等场景。
936 5
|
前端开发 UED 开发者
神秘的 CSS 属性 “position: sticky” 究竟有何魔力?带你彻底理解粘性定位的奇妙世界!
【8月更文挑战第20天】在前端开发中,CSS的粘性定位(`position: sticky`)是一种结合了相对与固定定位优点的强大工具。它使元素能在特定条件下相对定位,达到指定阈值时转为固定定位,非常适合制作“吸顶”导航栏等。例如,设置`position: sticky; top: 0;`能让导航栏滚动至顶部时固定显示。此特性不仅限于导航栏,还可应用于侧边栏等,增强布局灵活性与用户体验。尽管如此,仍需注意不同浏览器间的兼容性和可能的布局冲突。
663 0
|
消息中间件 Java 中间件
Java中的消息中间件与异步通信实现
Java中的消息中间件与异步通信实现
|
存储 小程序 前端开发
基于APP的微信点餐小程序的设计与实现
基于APP的微信点餐小程序的设计与实现
|
定位技术
ArcGIS中ArcMap自动生成随机抽样点的方法
ArcGIS中ArcMap自动生成随机抽样点的方法
434 1

热门文章

最新文章