在java中使用访问器和变异器

我们可以强制数据封装的方法之一是使用访问器和变异器。访问器和变异器的作用是返回和设置对象状态的值。让我们学习如何在Java中编程访问器和变异器。例如,我们将使用已定义状态和构造函数的Person类:...

我们可以强制数据封装的方法之一是使用访问器和变异器。访问器和变异器的作用是返回和设置对象状态的值。让我们学习如何在Java中编程访问器和变异器。例如,我们将使用已定义状态和构造函数的Person类:

Woman Writing Code on Laptop

存取器方法

访问器方法用于返回私有字段的值。它遵循一种命名方案,在方法名的开头加上“get”一词作为前缀。例如,让我们为firstname、middleName和lastname添加访问器方法:

这些方法总是返回与其对应的私有字段相同的数据类型(例如字符串),然后只返回该私有字段的值。

我们现在可以通过Person对象的方法访问它们的值:

存取器方法

mutator方法用于设置私有字段的值。它遵循一种命名方案,在方法名的开头加上“set”一词作为前缀。例如,让我们为地址和用户名添加mutator字段:

这些方法没有返回类型,并接受与其对应的专用字段相同的数据类型的参数。然后,该参数用于设置该私有字段的值。

现在可以修改Person对象中地址和用户名的值:

为什么要使用访问器和变异器?

很容易得出结论,我们可以将类定义的私有字段更改为公共字段,并获得相同的结果。记住,我们希望尽可能多地隐藏对象的数据,这一点很重要。这些方法提供的额外缓冲区允许我们:

  • 更改幕后处理数据的方式。
  • 对字段设置为的值进行验证。

假设我们决定修改存储中间名的方式。我们现在可以使用字符串数组,而不仅仅是一个字符串:

对象内部的实现已更改,但外部世界不受影响。调用方法的方式保持完全相同:

或者,假设使用Person对象的应用程序只能接受最多10个字符的用户名。我们可以在setUsername mutator中添加验证,以确保用户名符合此要求:

现在,如果传递给setUsername mutator的用户名长度超过10个字符,它将自动被截断。

  • 发表于 2021-10-02 18:49
  • 阅读 ( 202 )
  • 分类:编程

你可能感兴趣的文章

包裹(package)和java接口(interface in java)的区别

...很困难,因为很难访问。这会影响程序的可管理性。Java使用包来排列类。它类似于文件夹。javaapi根据功能将类分组到不同的包中。因此,每个包都包含一组相关的类。 java中的包示例 下面是几个示例包。这个java.io文件包包含输...

  • 发布于 2020-10-18 11:01
  • 阅读 ( 569 )

连接器(linker)和装载机(loader)的区别

...器与加载程序 计算机程序用于向计算机发出指令。它是使用特定的编程语言编写的。C、Java等编程语言是高级编程语言,人类可以理解,但计算机无法理解。因此,使用语言翻译将高级程序转换为机器语言。使用高级语言编写的...

  • 发布于 2020-10-19 05:42
  • 阅读 ( 219 )

4个windows应用程序随时更新

...dows10视为一项服务,从兼容性的角度来看,让每个用户都使用同一版本更好。这也意味着该公司可以修补漏洞,并保持您的系统安全。例如,Windows过去的缺陷允许一些黑客在未经许可的情况下安装程序、查看数据和创建帐户。 ...

  • 发布于 2021-03-15 03:42
  • 阅读 ( 201 )

如何在现代浏览器中使用java、silverlight和其他插件

...echrome、mozillafirefox和microsoftedge只支持Flash插件。如果您想使用Java、Silverlight或任何其他基于ActiveX或NPAPI的插件,您需要找到一个替代浏览器。 大多数网络用户都可以不用这些插件。这就是浏览器开发者不再支持它们的原因。但...

  • 发布于 2021-04-08 04:28
  • 阅读 ( 238 )

为什么linux上不需要防病毒软件(通常)

...许的情况下安装Windows恶意软件。记住这一点,在Windows上使用防病毒程序是一个重要的保护层。 然而,你不太可能像在Windows上被一个恶意软件感染一样,被Linux病毒感染。 不管是什么原因,Linux恶意软件并不像Windows恶意软件那...

  • 发布于 2021-04-09 04:28
  • 阅读 ( 151 )

oracle无法保护java插件,那么为什么默认情况下仍然启用它呢?

...%是由Java造成的。大多数人不仅启用了Java浏览器插件,还使用了过时的易受攻击的版本。嘿,甲骨文-是时候在默认情况下禁用该插件了。 甲骨文知道这是一场灾难。他们已经放弃了Java插件的安全沙盒,它最初是为保护您免受恶...

  • 发布于 2021-04-11 05:49
  • 阅读 ( 209 )

java是不安全和可怕的,是时候禁用它了,下面是如何禁用它的

...它? 理想情况下,两者都是。否则: 如果您不依赖任何使用Java的应用程序,也不访问任何需要在浏览器中使用Java的站点,那么您应该完全从计算机中删除整个框架。 如果您使用需要Java的应用程序,则应在浏览器中禁用该插...

  • 发布于 2021-04-12 06:33
  • 阅读 ( 187 )

dropbox的密码管理器和安全保险库现在可以使用,但只适用于付费用户

... 密码管理器称为Dropbox Passwords,可以存储您在web上使用的密码和登录名,并在您登录网站时自动填充它们。该功能适用于Windows、Mac、iOS和Android,您的密码将在不同设备间同步。Dropbox密码将在付费Dropbox Plus和专业计划中提...

  • 发布于 2021-04-18 05:36
  • 阅读 ( 195 )

抽象类(abstract class)和java接口(interface in java)的区别

...用程序用途。虽然这两个术语可能是同义词,但不能互换使用。 两者之间有显著差异。虽然默认情况下接口方法是抽象的,但抽象可以同时包含抽象方法和非抽象方法。好吧,因为Java8,接口也有方法实现,它们可以有Java中的...

  • 发布于 2021-06-25 03:52
  • 阅读 ( 302 )

应用(application)和小程序(applet)的区别

...是直接在计算机上运行的独立Java程序,而小程序是需要使用浏览器的特定程序,应该包含在HTML web文档中。 简单来说,应用程序在虚拟机的帮助下运行,不受任何安全限制,而applet在没有浏览器的帮助下无法运行,并且在网络...

  • 发布于 2021-06-25 03:53
  • 阅读 ( 203 )
h2338618
h2338618

0 篇文章

相关推荐