吸气剂和二传手

时间:2015-09-17 16:01:19

标签: java eclipse setter getter

所以,我编写了一个代码,它应该采用两个整数-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()(仅限主要方法)。当我将鼠标悬停在它上面时,它会将getF()更改为静态[getS()相同],但我不希望它是静态的。

它也使用了this.f和this.f.我知道这意味着什么,但不太好。对此的解释会很棒。

1 个答案:

答案 0 :(得分:3)

this.f指的是f类中的实例变量Comp。由于setF(int f)的参数也称为f,因此this有助于区分这两者。它基本上是说“将方法参数f分配给我的实例变量f”。

至于错误,您需要将getF()getS()设为静态,或者在Comp中创建main课程的实例并将其称为两个使用它的方法:

public static void main(String[] args){
    Comp comp = new Comp();
    Comp.give(comp.getF(), comp.getS());
}