因此,我对“ setter”和“ getter”方法以及它们的有用与否有疑问。

假设我只是写了一个非常基本的程序,如下所示:

public class Account

{

String name;

String address;

double balance;

}

然后,假设我编写了另一个使用此“ Account”类的类,如下所示:

class UseAccount

{

public static void main(String[] args)

{

Account myAccount = new Account();

Account yourAccount = new Account();

myAccount.name = "Blah blah"

}

}

等等等

在编写时myAccount.name = "Blah blah",我正在“ Account”类中更改变量“

name”的值。我可以按照自己喜欢的方式随意编写多次代码。但是,引起我注意的是,更好的做法是将“ Account”类中的变量设为私有,然后使用“

setter”和“ getter”方法。因此,如果我写以下内容:

public class Account

{

private String name;

private String address;

private String balance;

public void setName(String n)

{

name = n;

}

public String getName()

{

return name;

}

}

我仍然可以通过创建另一个具有以下内容的类来更改变量“名称”的值:

class UseAccount

{

public static void main(String[] args)

{

Account myAccount = new Account();

myAccount.setName("Blah blah");

}

}

我不知道使用此方法有何不同,或者应该防止人们使用此方法更改私有字段的值。有什么帮助吗?

java访问器_Java中的访问器方法相关推荐

  1. java如何重写_java中如何重写一个方法

    方法的重写: 1.在子类中可以根据需要对从基类中继承来的方法进行重写. 2.重写的方法和被重写的方法必须具有相同方法名称.参数列表和返回类型. 3.重写方法不能使用比被重写的方法更严格的访问权限. 在 ...

  2. java同步关键字_Java中synchronized关键字修饰方法同步的用法详解

    Java的最基本的同步方式,即使用synchronized关键字来控制一个方法的并发访问. 每一个用synchronized关键字声明的方法都是临界区.在Java中,同一个对象的临界区,在同一时间只有 ...

  3. java.equal例子_Java中的== 和equals()方法详解与实例

    Java中的== 和equals()方法: Java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型. byte,short,char,int,long,float,double,boo ...

  4. java wait 参数_java中wait()和join()方法的区别是什么

    java中wait()和join()方法的区别是:存在不同的java包中:wait()方法用于线程间通信,它所施加的等待状态的线程可以被启动:join()方法用于在多个线程之间添加排序,它所施加的等待 ...

  5. java 结束循环_java中结束循环的方法

    java中结束循环的方法 发布时间:2020-06-25 11:31:06 来源:亿速云 阅读:180 作者:Leah 这篇文章将为大家详细讲解有关java中结束循环的方法,小编觉得挺实用的,因此分享 ...

  6. java 设计模式 示例_Java中的中介器设计模式-示例教程

    java 设计模式 示例 中介者模式是行为设计模式之一 ,因此它处理对象的行为. 中介器设计模式用于在系统中不同对象之间提供集中式通信介质. 根据GoF,中介者模式意图是: 通过封装不同对象集相互交互 ...

  7. java 父类访问子类_java中父类访问子类变量

    我们都知道,子类的方法可以访问父类的实例变量,这是因为子类继承父类就会获得父类的成员变量和方法:但是父类的方法水能访问子类的实例变量,因为父类根本无法知道它将被哪个子类继承,它的子类将会增加怎样的成员 ...

  8. java中什么是布局管理器_Java中布局管理器

    布局管理器种类 FlowLayout: 组件在一行中从左至右水平排列,排满后折行,它是Panel.Applet的默认布局管理器. BorderLayout:北.南.东.西.中,它是Window.Fra ...

  9. java foreach顺序_Java中的LongStream forEachOrdered()方法

    forEachOrdered()Java中的方法对此流的每个元素执行一个操作,以确保对具有定义的遇到顺序的流按遇到顺序处理每个元素. 语法如下-void forEachOrdered(LongCons ...

最新文章

  1. python安装了怎么使用_Python PyCharm 安装与简单使用
  2. (021) Linux之正则表达式
  3. 认识微服务-SpringCloud
  4. 整理的一些比较基础的面试知识点
  5. 160 - 25 CodeZero.1
  6. c++ cstring 转换 char_Java基本数据类型的介绍及其转换(内附字符串与多种数据之间的转换)...
  7. 超9000万LoRa节点,全球物联网的事实标准已形成?
  8. 微信帐号被封零钱怎么办?微信针对封停帐号的零钱提取出了一个流程
  9. leetcode621 贪心:任务安排
  10. Linux 性能监控、测试、优化工具
  11. 使用Echarts实现地图3D效果
  12. 课程设计题五:汽车尾灯控制器设计
  13. c语言 数据结构面试题及答案,数据结构c语言版试题大全(含答案).docx
  14. 《跑步人生》 作者:村上春树
  15. LeetCode 0799. 香槟塔
  16. Joyoshare Media Cutter for Mac(智能媒体剪辑软件)激活版
  17. OrderedDict()的用法
  18. ctr多少正常_亚马逊ctr多少算正常?
  19. 如何批量重命名图片,文档,文件夹名字 Windows CMD 批量修改文件名字 内含修改路径的操作,想改哪里改哪里!
  20. 2018年广东工业大学文远知行杯新生程序设计竞赛 1010 温柔的手彼此相系β

热门文章

  1. linux mysql 知乎_在 Linux 上安装 MariaDB 或 MySQL | Linux 中国
  2. 蓝牙耳机和蓝牙鼠标相互干扰_蓝牙耳机推荐:编辑亲测后中肯评价五大爆款蓝牙耳机...
  3. Zabbix的web界面基本操作
  4. 使用rsync同步网路备份
  5. 洛谷P1939 【模板】矩阵加速(数列)
  6. ubuntu 配置dns访问外网
  7. 讨论UML概念和模型UML九种图。
  8. 相对网站根目录寻址 vs 相对当前目录寻址
  9. antd + react model自定义footer_使用ESLint+Prettier规范React+Typescript项目
  10. Linq to Sql : 动态构造Expression进行动态查询