实验2 类与封装性
文章目录
(一)实验目的
(1)掌握定义类并创建对象;
(2)掌握封装和导包使用方法;
(二)实验内容和步骤
(1)建立学生类和测试类。学生类中有成员变量:姓名,年龄;成员方法:学习,考试。测试类中实现创建学生类对象并赋值调用方法
实验记录和问题:
①撰写的程序代码为:
//文件名:Student.java
public class Student
{
String name;// 姓名
int age;// 年龄
// 学习
private void study()
{
}
// 考试
private void exam()
{
}
// 便于输出查看对象的属性值
@Override
public String toString()
{
return "Student [name=" + name + ", age=" + age + "]";
}
// 测试方法
public static void main(String[] args)
{
Student stu = new Student();
stu.name = "lisi";
stu.age = 18;
System.out.println(stu);
}
}
②程序运行结果:
(2)使用封装特性,利用private关键字修饰成员变量配合getXXX(),setXXX(…)方法实现第一题中学生类设计和对象创建。
实验记录和问题:
①撰写的程序代码为:
//文件名:Student.java
public class Student
{
private String name;// 姓名
private int age;// 年龄
// 学习
private void study()
{
}
// 考试
private void exam()
{
}
String getName()
{
return name;
}
void setName(String name)
{
this.name = name;
}
int getAge()
{
return age;
}
void setAge(int age)
{
this.age = age;
}
// 便于输出查看对象的属性值
@Override
public String toString()
{
return "Student [name=" + name + ", age=" + age + "]";
}
// 测试方法
public static void main(String[] args)
{
Student stu = new Student();
// (1)
// stu.name = "lisi";
// stu.age = 18;
// (2)
stu.setName("WangWu");
stu.setAge(81);
System.out.println(stu);
}
}
②程序运行结果:
(3)使用无参构造方法和有参构造方法共存的形式定义第一题中的Student类,实现两种为成员变量赋值的方式
实验记录和问题:
①撰写的程序代码为:
//文件名:Student.java
public class Student
{
private String name;// 姓名
private int age;// 年龄
// 无参构造
public Student()
{
super();
}
// 有参构造
public Student(String name, int age)
{
super();
this.name = name;
this.age = age;
}
// 学习
private void study()
{
}
// 考试
private void exam()
{
}
// 便于输出查看对象的属性值
@Override
public String toString()
{
return "Student [name=" + name + ", age=" + age + "]";
}
// 测试方法
public static void main(String[] args)
{
// (1)
// Student stu = new Student();
// stu.name = "lisi";
// stu.age = 18;
// System.out.println(stu);
// (2)
// Student stu = new Student();
// stu.setName("WangWu");
// stu.setAge(81);
// System.out.println(stu);
// (3)
Student stu = new Student();
System.out.println("无参构造:" + stu);
stu = new Student("ZhaoLiu", 100);
System.out.println("有参构造:" + stu);
}
}
②程序运行结果:
(4)读程序,写结果
①程序
文件名:PersonDemo.java
//文件名:PersonDemo.java
class Person {
//姓名
String name;
//年龄
int age;
//国籍
//String country;
static String country;
public Person(){}
public Person(String name,int age) {
this.name = name;
this.age = age;
}
public Person(String name,int age,String country) {
this.name = name;
this.age = age;
this.country = country;
}
public void show() {
System.out.println("姓名:"+name+",年龄:"+age+",国籍:"+country);
}
}
class PersonDemo {
public static void main(String[] args) {
//创建对象1
Person p1 = new Person("邓丽君",16,"中国");
p1.show();
//创建对象2
Person p2 = new Person("杨幂",22);
p2.show();
//创建对象3
Person p3 = new Person("凤姐",20);
p3.show();
p3.country = "美国";
p3.show();
p1.show();
p2.show();
}
}
②运行结果