gpt4 book ai didi

java - Java 中的 protected 方法

转载 作者:行者123 更新时间:2023-12-01 19:12:44 26 4
gpt4 key购买 nike

当我们可以直接将变量设置为 protected 时,为什么还需要 protected 修饰符方法?

例如:在下面的代码中,他们将实例变量 SocialSecurityNumber 设置为 private 并定义一个 protected setter 方法来设置其值?为什么我们不能直接将变量SocialSecurityNumber设置为protected?

public class SSNWrapper {

private int SocialSecurityNumber ;

public SSNWrapper (int ssn) { socialSecurityNumber = ssn ;}
public int getSSN () { return SocialSecurityNumber; }
protected void setSSN(int SSN) { socialSecuritynumber = ssn ; }

}

最佳答案

在该特定示例中,不会有太大差异。在现实生活中,setSSN 方法可能应该更像是:

protected void setSSN(int SSN) throws InvalidSSNException {
// check that the given SSN is valid
// ...
socialSecurityNumber = ssn;
}

这允许基类保证它只保存有效的 SSN。基类不能保证该字段是否受到保护。

关于java - Java 中的 protected 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7860543/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com