我们可以强制数据封装的方法之一是使用访问器和变异器。访问器和变异器的作用是返回和设置对象状态的值。让我们学习如何在Java中编程访问器和变异器。例如,我们将使用已定义状态和构造函数的Person类:
访问器方法用于返回私有字段的值。它遵循一种命名方案,在方法名的开头加上“get”一词作为前缀。例如,让我们为firstname、middleName和lastname添加访问器方法:
这些方法总是返回与其对应的私有字段相同的数据类型(例如字符串),然后只返回该私有字段的值。
我们现在可以通过Person对象的方法访问它们的值:
mutator方法用于设置私有字段的值。它遵循一种命名方案,在方法名的开头加上“set”一词作为前缀。例如,让我们为地址和用户名添加mutator字段:
这些方法没有返回类型,并接受与其对应的专用字段相同的数据类型的参数。然后,该参数用于设置该私有字段的值。
现在可以修改Person对象中地址和用户名的值:
很容易得出结论,我们可以将类定义的私有字段更改为公共字段,并获得相同的结果。记住,我们希望尽可能多地隐藏对象的数据,这一点很重要。这些方法提供的额外缓冲区允许我们:
假设我们决定修改存储中间名的方式。我们现在可以使用字符串数组,而不仅仅是一个字符串:
对象内部的实现已更改,但外部世界不受影响。调用方法的方式保持完全相同:
或者,假设使用Person对象的应用程序只能接受最多10个字符的用户名。我们可以在setUsername mutator中添加验证,以确保用户名符合此要求:
现在,如果传递给setUsername mutator的用户名长度超过10个字符,它将自动被截断。
...很困难,因为很难访问。这会影响程序的可管理性。Java使用包来排列类。它类似于文件夹。javaapi根据功能将类分组到不同的包中。因此,每个包都包含一组相关的类。 java中的包示例 下面是几个示例包。这个java.io文件包包含输...
...器与加载程序 计算机程序用于向计算机发出指令。它是使用特定的编程语言编写的。C、Java等编程语言是高级编程语言,人类可以理解,但计算机无法理解。因此,使用语言翻译将高级程序转换为机器语言。使用高级语言编写的...
...dows10视为一项服务,从兼容性的角度来看,让每个用户都使用同一版本更好。这也意味着该公司可以修补漏洞,并保持您的系统安全。例如,Windows过去的缺陷允许一些黑客在未经许可的情况下安装程序、查看数据和创建帐户。 ...
...echrome、mozillafirefox和microsoftedge只支持Flash插件。如果您想使用Java、Silverlight或任何其他基于ActiveX或NPAPI的插件,您需要找到一个替代浏览器。 大多数网络用户都可以不用这些插件。这就是浏览器开发者不再支持它们的原因。但...
...许的情况下安装Windows恶意软件。记住这一点,在Windows上使用防病毒程序是一个重要的保护层。 然而,你不太可能像在Windows上被一个恶意软件感染一样,被Linux病毒感染。 不管是什么原因,Linux恶意软件并不像Windows恶意软件那...
...%是由Java造成的。大多数人不仅启用了Java浏览器插件,还使用了过时的易受攻击的版本。嘿,甲骨文-是时候在默认情况下禁用该插件了。 甲骨文知道这是一场灾难。他们已经放弃了Java插件的安全沙盒,它最初是为保护您免受恶...
...它? 理想情况下,两者都是。否则: 如果您不依赖任何使用Java的应用程序,也不访问任何需要在浏览器中使用Java的站点,那么您应该完全从计算机中删除整个框架。 如果您使用需要Java的应用程序,则应在浏览器中禁用该插...
... 密码管理器称为Dropbox Passwords,可以存储您在web上使用的密码和登录名,并在您登录网站时自动填充它们。该功能适用于Windows、Mac、iOS和Android,您的密码将在不同设备间同步。Dropbox密码将在付费Dropbox Plus和专业计划中提...
...用程序用途。虽然这两个术语可能是同义词,但不能互换使用。 两者之间有显著差异。虽然默认情况下接口方法是抽象的,但抽象可以同时包含抽象方法和非抽象方法。好吧,因为Java8,接口也有方法实现,它们可以有Java中的...
...是直接在计算机上运行的独立Java程序,而小程序是需要使用浏览器的特定程序,应该包含在HTML web文档中。 简单来说,应用程序在虚拟机的帮助下运行,不受任何安全限制,而applet在没有浏览器的帮助下无法运行,并且在网络...