java - 使用 setProperty 设置类变量的值

标签 java

为什么我需要使用 setProperty 才能设置 java 类中变量的值

当我可以创建变量的实例并使用该实例来访问我的变量并分配值时。

最佳答案

您指的是Encapsulation 。它是面向对象编程的基石之一。您通常希望限制其他代码扰乱类的内部结构的能力。

想象一个简单的例子,将整数值设置为负值将使你的类灾难性地失败。有了 setter 就位,您可以更好地处理这个问题,例如使用类似这样的东西:

public void setNumber(int number)
{
    if (number < 0)
    {
        number = 1;
    }
    this.number = number
}

或者(更有可能)

    public void setNumber(int number)
    {
        if (number < 0)
        {
            throw new Exception("Number can't be less than 0");
        }
        else
        {
            this.number = number
        }
    }

正如 Raveesh Sharma 在下面的评论中指出的,这就是所有实例变量应该声明为私有(private)的原因。

关于java - 使用 setProperty 设置类变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10175183/

相关文章:

java - Primefaces 确认对话框在使用 ajax 更新的表单中未垂直居中

Java写入关闭的输出流不抛出ioexception

java - 我可以本地化 JOptionPane 是/否/取消选项吗?

java - 在tomcat日志消息中,是否可以在日志消息中添加文件名

java - Activity 每次启动时都会增加 RAM 使用

java - JBoss Cache 和 Ehcache 的性能

java - 具有内部类的变量作用域

java - 序列化 java.lang.Locale

java - 尽管有 Java 的类型删除,但仍获得 T.class

java - ReportServer 中的 SMTP 配置和 java 错误。没有为 PKCS#12 KeyStore 提供密码