为什么调用 getter 方法不能直接打印到屏幕?
Why invoking a getter method cannot be printed to screen directly?
我正在学习一门非常基础的 java 课程,它介绍了 getter 方法。但是,有一点我不明白。
class Person {
String name;
int age;
void speak() {
System.out.println("My name is : " + name);
}
int calculateYearsToRetirement() {
int yearsLeft = 65 - age;
return yearsLeft;
}
int getAge() {
return age;
}
String getName() {
return name;
}
public static void main(String[] args) {
Person person1 = new Person();
person1.name = "Joe";
person1.age = 25;
person1.speak();
int years = person1.calculateYearsToRetirement();
System.out.println("Years till retirement : " + years);
//System.out.println(person1.getAge());
//System.out.println(person1.getName());
int age = person1.getAge();
String name = person1.getName();
System.out.println("Age is : " + age);
System.out.println("Name is : " + name);
}
}
请看我的代码注释。
我试过了,打印到屏幕上完全没有问题。
但是当我尝试时:
System.out.println("person1.calculateYearsToRetirement");
没用。
但是,我被告知我已将 int
变量 years
分配给 person1.calculateYearsToRetirement
,然后将变量打印到屏幕。
你们能给我解释一下为什么会这样吗?
提前致谢!
如果您尝试打印方法调用返回的值,则必须删除语音标记并附加括号。
System.out.println(person1.calculateYearsToRetirement());
使用语音标记将打印 String
而不是方法调用的结果。我建议您阅读一些基础 Java 教程以了解该语言。
您没有调用任何函数(或 getter,这是一个函数)。
双引号在 Java 中创建 String
个对象。
这意味着这部分:
System.out.println("person1.calculateYearsToRetirement");
打印字符串 "person1.calculateYearsToRetirement"
,它是由引号显式构成的。
你的意思大概是:
System.out.println(person1.calculateYearsToRetirement());
我正在学习一门非常基础的 java 课程,它介绍了 getter 方法。但是,有一点我不明白。
class Person {
String name;
int age;
void speak() {
System.out.println("My name is : " + name);
}
int calculateYearsToRetirement() {
int yearsLeft = 65 - age;
return yearsLeft;
}
int getAge() {
return age;
}
String getName() {
return name;
}
public static void main(String[] args) {
Person person1 = new Person();
person1.name = "Joe";
person1.age = 25;
person1.speak();
int years = person1.calculateYearsToRetirement();
System.out.println("Years till retirement : " + years);
//System.out.println(person1.getAge());
//System.out.println(person1.getName());
int age = person1.getAge();
String name = person1.getName();
System.out.println("Age is : " + age);
System.out.println("Name is : " + name);
}
}
请看我的代码注释。 我试过了,打印到屏幕上完全没有问题。 但是当我尝试时:
System.out.println("person1.calculateYearsToRetirement");
没用。
但是,我被告知我已将 int
变量 years
分配给 person1.calculateYearsToRetirement
,然后将变量打印到屏幕。
你们能给我解释一下为什么会这样吗? 提前致谢!
如果您尝试打印方法调用返回的值,则必须删除语音标记并附加括号。
System.out.println(person1.calculateYearsToRetirement());
使用语音标记将打印 String
而不是方法调用的结果。我建议您阅读一些基础 Java 教程以了解该语言。
您没有调用任何函数(或 getter,这是一个函数)。
双引号在 Java 中创建 String
个对象。
这意味着这部分:
System.out.println("person1.calculateYearsToRetirement");
打印字符串 "person1.calculateYearsToRetirement"
,它是由引号显式构成的。
你的意思大概是:
System.out.println(person1.calculateYearsToRetirement());