java - 我想使用类中的方法设置和获取实例属性

标签 java class

我是 Java 初学者。我有一个问题。

Foo.java

public class Foo {
    private String name;
    private int num;

    Foo(String name, int num) {
        this.name = name;
        this.num = num;
    }

    public String getName() {
        return this.name;
    }

    public int getNum() {
        return this.num;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setNum(int num) {
        this.num = num;
    }

}

主.java

public class Main {
    public static void main(String[] args) {
        String name = "Tom";
        int num = 60;
        Foo bar = new Foo(name, num);
    }
}

我不想使用这种典型的 Java 类样式,而是使用 getter()setter() 方法来设置和获取实例属性,例如...

public void setter(String p) {
    this.p = p;
}

public String getter(String q) {
    return this.q
} 

我知道这些行不通,但我想在 Python 中按照这些代码编写 Java 方法。

setattr(self, key, val)
getattr(self, key)

你能给我一些建议吗?

最佳答案

Java 不支持属性。

做到这一点的唯一方法是通过 accessormutator(获取/设置)方法,就像您在顶部所做的那样。

参见:does java have something similar to C# properties?

关于java - 我想使用类中的方法设置和获取实例属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38996357/

相关文章:

C++ 类模板未定义对函数的引用

c++ - 变量已在 .obj 中定义,但没有循环包含

java - 如何更新 Mac 上的 Java 版本以便安装 Eclipse?

java - 使用 for-each 循环时如何在列表中包含每个文件名的索引

ios - Swift 中一个类的多个实例

java - 将 System.out.format 翻译成 Clojure

java - 如何使用java读取excel文件并将其转换为制表符分隔文件

java - SoapUI、Maven、Surefire 和 Jenkins 集成

java - 让 JTextArea 显示不带抗锯齿的固定宽度字体

python - 如何使用类显示与矩形位置相关的字体?