本文共 1765 字,大约阅读时间需要 5 分钟。
编写一个学生类,并根据要求对学生类进行封装。防止外界对类中的成员变量随意访问。名校系统:学生类毕业设计课程设置日五任务。
对类进行封装,防止外界对类中的成员变量随意访问。为掌握类的封装,本练习将使用private关键字对学生类的成员变量name和age进行私有化,同时分别提供一个setName(String n)和setAge(int a)方法用于外界的访问,其中setAge(int a)中需要对age进行判断。
1)对Student类进行修改,将name和age属性使用private修饰,然后定义getName()、setName(String n)、getAge()和setAge(int a)四个对外访问name和age的方法。
2)在setAge(int a)方法中对传入的参数进行检查,如果输入值为负数,则打印出“设置的年龄不合法”,如果不为负数,才将其设置为age属性的值。
3)编写测试类,在main()方法中创建Student类的实例对象,通过调用对象的setName(String n)和setAge(int a)方法来设置示例对象的name属性和age属性值,并调用speak()方法。
测试1:测试输入:小吴,-3;
预期输出:设置的年龄不合法我的名字是小吴,今年0岁测试2:测试输入:大强,25;
预期输出:我的名字是大强,今年25岁###代码
package task03;import java.util.Scanner;/* * 定义学生类作封装练习 */class Student { private String name; private int age; /* 公共构造函数,初始化name和age */ public Student(String name, int age) { this.name = name; this.age = age; } /* 公共方法,获取name */ public String getName() { return name; } /* 公共方法,设置name */ public void setName(String name) { this.name = name; } /* 公共方法,获取age */ public int getAge() { return age; } /* 公共方法,设置age,包含参数检查 */ public void setAge(int age) { if (age < 0) { System.out.println("设置的年龄不合法"); } else { this.age = age; } } /* 公共方法,说话 */ void speak() { System.out.println("我的名字是" + name + ",今年" + age + "岁"); }}/* 测试类 */public class Task03 { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String name1 = scan.next(); int age1 = scan.nextInt(); Student s = new Student(); s.setName(name1); s.setAge(age1); s.speak(); }}
测试1输出:
设置的年龄不合法我的名字是小吴,今年0岁
测试2输出:
我的名字是大强,今年25岁
转载地址:http://qjshz.baihongyu.com/