作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我想弄清楚如何让 3 个类(class)互相调用。
这是主要类(class)。
public class TestStudent {
public static void main(String[] args) {
myStudent mystudent_obj = new myStudent();
mystudent_obj.show_grades();
mystudent_obj.change_grades();
mystudent_obj.show_grades();
}
}
show_grades
只需打印出第三类中的变量
change_grade
尝试更改第三类中的变量。
public class myStudent {
public void show_grades(){
Student student_obj = new Student();
System.out.println(student_obj.studGrade);
System.out.println(student_obj.studID);
}
public void change_grades(){
Student student_obj = new Student();
student_obj.studGrade='V';
student_obj.studID=10;
}
}
public class Student {
public int studID = 0;
public char studGrade = 'F';
}
F
0
F
0
show_grades
工作,它确实显示成绩,但
change_grades
不改变成绩:
F
0
V
10
最佳答案
在您的 myStudent 类中,您将在每个方法中创建一个新的 Student 实例,这意味着每个方法都有一个 Student 类的局部变量。当您调用 show_grades
第二次创建一个新实例,默认值为 0 和 F。
如果您创建一个变量并改为使用它,您的更改等级将更改实例变量的变量,而不是每个方法中的局部变量。这是由于编程中的作用域,您可以在 Wikipedia 阅读更多信息。 .
public class myStudent {
private Student student_obj = new Student();
public void show_grades() {
System.out.println(student_obj.studGrade);
System.out.println(student_obj.studID);
}
public void change_grades(){
student_obj.studGrade='V';
student_obj.studID=10;
}
}
关于java - 让 3 个类互相调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10058872/
我遇到的问题不是紧急情况,但我不知道该怎么做。我有两个 aspx 网络表单页面。每个都有一个下拉列表。两者都由来自 sql server 的相同数据源填充。问题是,如果我在第 1 页选择一个值,然后转
我正在使用 OpenvSwitch-2.5.2 在两个虚拟机上设置第 2 层网络,如上图所示。 在阅读了 ovs 官方教程和其他一些文章后,我在每个虚拟机上尝试了以下命令: # on vm1 ip l
我是一名优秀的程序员,十分优秀!