Java面向对象基础:Student与Husband/Wife类实践
需积分: 0 188 浏览量
更新于2024-08-03
1
收藏 90KB PDF 举报
“初识Java面向对象编程,包括基础的类定义、对象创建及属性访问,以及类之间的关联关系。”
在Java编程中,面向对象(Object-Oriented Programming, OOP)是一种重要的编程范式,它将程序设计为由多个相互协作的对象组成。面向对象的核心概念包括封装、继承和多态。以下将详细介绍这两个面向对象的基础题目。
题目一 主要涉及类的定义、对象的创建以及属性的访问和设置。在这个题目中,我们需要创建一个名为`Student`的类,包含以下属性:`name`(String类型,表示学生姓名)、`gender`(String类型,表示性别)、`age`(int类型,表示年龄)、`id`(int类型,表示学号)、`score`(double类型,表示分数)。同时,我们需要在`Student`类中定义一个`say`方法,返回一个字符串,该字符串包含了所有属性的值。
```java
public class Student {
String name;
String gender;
int age;
int id;
double score;
public String say() {
return name + "," + gender + "," + age + "," + id + "," + score;
}
}
```
在`StudentTest`类的`main`方法中,我们创建一个`Student`对象`p1`,并初始化其属性,然后调用`say`方法打印学生的信息:
```java
public class StudentTest {
public static void main(String[] args) {
Student p1 = new Student();
p1.name = "张三";
p1.score = 90;
p1.age = 18;
p1.id = 2;
p1.gender = "男";
System.out.println(p1.say());
}
}
```
题目二 这个题目展示了类之间的关联关系,特别是夫妻(Husband和Wife)类的定义。丈夫类`Husband`和妻子类`Wife`都有姓名和年龄属性,此外,丈夫类有一个妻子属性,妻子类有一个丈夫属性。每个类都包含一个`getInfo`方法,用于打印各自的信息,包括配偶的姓名和年龄。
```java
public class Husband {
String name;
int age;
Wife wife;
public void getInfo() {
System.out.println(age + "岁的" + name + ",他的妻子是" + wife.age + "岁的" + wife.name);
}
}
public class Wife {
String name;
int age;
Husband husband;
public void getInfo() {
System.out.println(age + "岁的" + name + ",她的丈夫是" + husband.age + "岁的" + husband.name);
}
}
```
在测试类中,我们创建一个`Husband`对象`man`和一个`Wife`对象`women`,并分别设置他们的属性,然后调用各自的`getInfo`方法:
```java
public class Test {
public static void main(String[] args) {
Husband man = new Husband();
Woman woman = new Wife();
man.name = "张三";
man.age = 30;
woman.name = "李四";
woman.age = 28;
man.wife = woman;
woman.husband = man;
man.getInfo();
woman.getInfo();
}
}
```
通过这两个题目,我们可以学习到Java中如何定义类、初始化对象、设置和访问属性,以及如何通过方法来展示对象的状态。同时,也了解了类之间如何通过属性建立关联关系,这是构建复杂系统的基础。
2022-12-26 上传
2022-07-08 上传
2022-08-08 上传
2017-12-16 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
82瓜
- 粉丝: 67
- 资源: 10
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能