[英]Getters and Setters
所以,我编写了一个代码,它应该采用两个整数 -f 和 s(第一个和第二个) - 并返回总和。 Eclipse 不太喜欢我正在做的事情,所以我更改了我的代码并添加了一些 getter 和 setter - 我非常不熟悉这些。 我让 Eclipse 来创建我的 getter 和 setter。 我的代码仍然不起作用,但我真的不知道为什么。
这里是:
public class Main extends Comp{
public static void main(String[] args){
Comp.give(getF(), getS());
}
}
import java.util.Scanner;
//Feel the rhythm
//Feel the rhyme
//Come on Eclipse
//It's coding time!!!
public class Comp {
private int f;
private int s;
public void look(){
Scanner iscan = new Scanner(System.in);
setF(iscan.nextInt());
setS(iscan.nextInt());
iscan.close();
}
public static void give(int f, int s) {
System.out.println(f+s);
}
public int getS() {
return s;
}
public void setS(int s) {
this.s = s;
}
public int getF() {
return f;
}
public void setF(int f) {
this.f = f;
}
}
问题 - Eclipse 已用红色下划线 getF()、getS()(仅限 Main 方法)。 当我将鼠标悬停在它上面时,它说将 getF() 更改为静态 [getS() 相同],但我不希望它是静态的。
它还使用了 this.f 和 this.f。 我有点知道这意味着什么,但不太清楚。 对此的解释会很棒。
this.f
指的是Comp
类中的实例变量f
。 由于setF(int f)
的参数也称为f
, this
有助于区分两者。 它基本上是在说“将方法参数f
分配给我的实例变量f
”。
至于错误,您需要将getF()
和getS()
静态,或者在main
创建Comp
类的实例并使用它调用这两个方法:
public static void main(String[] args){
Comp comp = new Comp();
Comp.give(comp.getF(), comp.getS());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.