Java创建 Student类,属性 name.agestatic school(所有实例对象共享该变量),通过创建实例输出学生 +名字 name,就读于school河北金融学院
时间: 2024-05-22 07:13:11 浏览: 76
public class Student {
private String name;
private int age;
private static String school = "河北金融学院";
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public void display() {
System.out.println("学生姓名:" + name);
System.out.println("就读学校:" + school);
}
public static void main(String[] args) {
Student s1 = new Student("张三", 18);
Student s2 = new Student("李四", 19);
s1.display();
s2.display();
}
}
相关问题
创建 Student类,属性 name.agestatic school(所有实例对象共享该变量),通过创建实例输出学生 +名字 name,就读于school河北金融学院
class Student:
school = '河北金融学院'
def __init__(self, name, age):
self.name = name
self.age = age
def show_info(self):
print(f'学生姓名:{self.name}')
print(f'学生年龄:{self.age}')
print(f'学生就读学校:{self.school}')
# 创建学生实例并输出信息
stu1 = Student('张三', 18)
stu1.show_info()
stu2 = Student('李四', 20)
stu2.show_info()
1.反射获取Student类中的name和school属性,将实例化的student对象的名字设置为李四,school设置为清华大学
好的,那么针对这个问题,我可以给出以下代码实现:
```
package step2;
import java.lang.reflect.Field;
public class ReflectFieldEdit {
public static void main(String[] args) {
Student student = null;
// ---------------------Begin------------------------
try {
Class<?> clazz = Class.forName("step2.Student");
student = (Student) clazz.newInstance();
Field nameField = clazz.getDeclaredField("name");
Field schoolField = clazz.getDeclaredField("school");
nameField.setAccessible(true);
schoolField.setAccessible(true);
nameField.set(student, "李四");
schoolField.set(student, "清华大学");
} catch (Exception e) {
e.printStackTrace();
}
// ---------------------End------------------------
System.out.println(student);
}
}
```
这个程序首先使用反射获取了 `Student` 类的对象,然后通过反射获取了 `name` 和 `school` 两个属性的对象,将其设置为可访问状态,然后使用 `set()` 方法将 `name` 和 `school` 属性值分别设置为 "李四" 和 "清华大学"。最后将设置好属性值的 `Student` 对象输出。