将上面两个在同一项目中表现出来
时间: 2024-10-11 14:04:08 浏览: 17
两个DIV同一行显示
在同一个Java项目中,为了同时展示普通实例变量和静态变量的特点,你可以结合`Student2`类和`Example03_6`测试类。首先,我们将这两个部分合并:
**Student2.java:**
```java
public class Student2 {
// 实例变量,每个对象都有独立的name属性
private String name;
// 静态变量,所有对象共享的className属性
public static String className = "三年级二班"; // 初始化为默认值
// 构造函数初始化name属性
public Student2(String name) {
this.name = name;
}
// 获取和设置name属性的方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 显示实例变量和静态变量的方法
public void displayInfo() {
System.out.println("姓名: " + name + ", 班级: " + className);
}
}
// 测试类Example03_6
public class Example03_6 {
public static void main(String[] args) {
// 创建三个不同的Student2对象
Student2 student1 = new Student2("张三");
Student2 student2 = new Student2("李四");
Student2 student3 = new Student2("王五");
// 每个对象有自己的name,共享静态的className
student1.displayInfo();
student2.displayInfo();
student3.displayInfo();
// 修改一个对象的name和className
student1.setName("赵六");
student1.className = "四年级一班";
// 显示修改后的信息
student1.displayInfo();
// 打印出静态变量,所有对象都受影响
System.out.println("\n班级名称已更新,其他对象也受到影响:");
System.out.println(Student2.className);
}
}
```
在这个例子中,`Example03_6`测试类中首先创建了三个`Student2`对象,它们各自有不同的`name`,但共享静态的`className`。随后,我们修改了一个对象的`name`和`className`,这只会影响该对象,但静态变量的变化会影响所有的`Student2`实例。
通过这个项目,你可以看到实例变量和静态变量在程序中的区别:实例变量每个对象有独立副本,而静态变量是全局共享的。
阅读全文