Java 将gui组件声明为私有是否算作封装?

Java 将gui组件声明为私有是否算作封装?,java,encapsulation,Java,Encapsulation,然后我对文本字段使用getter private JPanel contentPane; private JTextField textField; 将gui组件(文本字段)声明为私有可以称为封装吗?是,它被视为封装。通过将JTextField textField字段声明为private,可以防止从类外直接访问它。其他类不知道textField字段或它是JTextField对象。他们不能依赖现有的领域等;i、 e.无联轴器。他们不能直接读取或写入字段;i、 e.封装 包含textField.g

然后我对文本字段使用getter

private JPanel contentPane;
private JTextField textField;

将gui组件(文本字段)声明为私有可以称为封装吗?

是,它被视为封装。通过将
JTextField textField
字段声明为
private
,可以防止从类外直接访问它。其他类不知道
textField
字段或它是
JTextField
对象。他们不能依赖现有的领域等;i、 e.无联轴器。他们不能直接读取或写入字段;i、 e.封装

包含
textField.getText()
调用的代码必须是此类的一部分。这大概是类公共API实现的一部分。在最坏的情况下,这是对封装的部分放松,以允许调用者看到文本。充其量,它只是API的一部分


封装并不意味着“没有信息出来”。(那将是无用的!)它的意思是(通过设计)访问受限于必要的内容,并且(在适当的时候)由封装方法进行调解。这使得理解代码和各部分如何交互变得更加容易,尤其是当代码库非常广泛时。

是的,它被视为封装。通过将
JTextField textField
字段声明为
private
,可以防止从类外直接访问它。其他类不知道
textField
字段或它是
JTextField
对象。他们不能依赖现有的领域等;i、 e.无联轴器。他们不能直接读取或写入字段;i、 e.封装

包含
textField.getText()
调用的代码必须是此类的一部分。这大概是类公共API实现的一部分。在最坏的情况下,这是对封装的部分放松,以允许调用者看到文本。充其量,它只是API的一部分


封装并不意味着“没有信息出来”。(那将是无用的!)它的意思是(通过设计)访问受限于必要的内容,并且(在适当的时候)由封装方法进行调解。这使您更容易理解代码以及各部分如何交互,尤其是在代码库非常丰富的情况下。

非常感谢您的帮助。你救了我一天。非常感谢你,真的帮了我的忙。你救了我一天。
st.setString(1, textField.getText());