Java面向对象基础:Student与Husband/Wife类实践

需积分: 0 6 下载量 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中如何定义类、初始化对象、设置和访问属性,以及如何通过方法来展示对象的状态。同时,也了解了类之间如何通过属性建立关联关系,这是构建复杂系统的基础。