有人可以解释一下 getName()
和 getGrade()
如何在没有被告知的情况下最终引用与 createProgressReport() 相同的项目吗?
很明显,通过 item.createProgressReport()
对数组中的项目调用了 createProgressReport
。但似乎没有告诉 getName()
和 getGrade()
在同一个项目上调用,因为没有像 item.getName 这样的点符号()
.
getName()
和 getGrade()
方法似乎如何自动“知道”对哪个学生调用该方法。
for (Student item : myStudents) {
System.out.println(item.createProgressReport());
public String createProgressReport() {
String myString = getName() + " " + getGrade();
最佳答案
createProgressReport
在对象实例上调用。除非您以其他方式编码,否则在该方法中调用的任何方法都将在同一对象上调用。
换句话说,您的方法相当于:
String myString = this.getName() + " " + this.getGrade();
关于Java在数组中调用没有点符号的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45515520/