为什么我们在java中将变量声明为私有的
通常在JavaBean类中,我们将变量声明为私有的。无论如何,我们将setter和getter方法声明为public。然后我们就可以获取并设置属性的值。那么,在这里将变量声明为private有什么用呢?如果我宣布为公众,会发生什么为什么我们在java中将变量声明为私有的,java,private,encapsulation,public,Java,Private,Encapsulation,Public,通常在JavaBean类中,我们将变量声明为私有的。无论如何,我们将setter和getter方法声明为public。然后我们就可以获取并设置属性的值。那么,在这里将变量声明为private有什么用呢?如果我宣布为公众,会发生什么 提前感谢。它提供了一个选择。您可以提供或不提供getter和setter 例如,在不可变对象的情况下,只提供getter是一种常见的设计选择 经验法则:尽量减少可见性。这就是本文的目的 考虑拥有一个age属性,您希望对其进行一些控制。如果只将字段公开为公共字段,则可以
提前感谢。它提供了一个选择。您可以提供或不提供getter和setter 例如,在不可变对象的情况下,只提供getter是一种常见的设计选择 经验法则:尽量减少可见性。这就是本文的目的 考虑拥有一个
age
属性,您希望对其进行一些控制。如果只将字段公开为公共字段,则可以从外部访问它,并对其执行任何操作。然后,检查年龄是否有效可能会有点麻烦
也就是说,使用setter方法,例如,您可以有一个适当的验证机制。这使您可以控制如何以及何时访问和更改变量
这同样适用于getter方法。假设您有一些不想公开的内部结构,例如,您在内部使用枚举。但是,您不希望在课堂外显示此内容。因此,例如,在getter中,您可以生成您想要生成的任何值的字符串版本。产生该值的主要原因可能是: 限制读写访问和不变性:
class HeightBean {
private int height;
public int getHeight() {
return height;
}
public void setHeight(int height) {
if(height<0)
height=0;
this.height = height;
}
}
classheightbean{
私人内部高度;
公共整数getHeight(){
返回高度;
}
公共空间设置高度(内部高度){
如果(heightAnd谁说getter和setter是好的?请查看封装。基本目的是保护数据。这是一个基于对象提供与数据交互的方法的位置的概念。它防止修改对象正在管理的数据。请在否决表决前给出有效的理由。如果您保留变量其他类可以直接更改值或读取值。使用变量私有和SETER和GETER访问它,允许您在更改数据之前验证新值。希望它有意义(1)也考虑到从“代码>日期>代码>值中计算的年龄,属性是<代码>年龄< /代码>从国际状态…作为一个可能的例子;)@npinti感谢您的支持help@samba:不客气。MadProgrammer的示例也非常有效,具有更现实的实现。
<jsp:useBean id="name" class="java.lang.String" scope="session">
</jsp:useBean>
<jsp:getProperty property="bytes" name="name"/>