Java getter 与 this

2024-01-30

这是一个非常通用的场景,我使用 setter 函数设置变量并仅在本地使用该变量。

class Main {
 private String str;

 public Main(String value)
  setStr(value);
 }

 private String getStr() {
    return str;
 }

 private void setStr(String str) {
    this.str = str;
 }

 public void display() {
    //METHOD1
    System.out.println(getStr());
    //METHOD2
    System.out.println(this.str);
  }
}
  1. 显示函数中的两个 METHOD1/2 之间应该遵循什么更好的做法,基本上使用“str”变量的更好方法是什么。

  2. 拥有私有 getter/setter 函数是否有意义?

    • Ivard

如果 getter 是私有的,并且只是返回一个私有变量,那么就不需要它,恕我直言(即我更喜欢第二种访问它的方法)。

但是,如果 getter 是公共的而不是最终的,因此可以由子类重新定义,那么您必须决定是否想要获取 getter 返回的可能被覆盖的值,或者是否想要私有字段的值在显示方法中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java getter 与 this 的相关文章

  • 按下按钮并在java中的新窗口中打开文件

    我创建了一个 JFrame 并放置了一个文本字段和按钮 在文本字段中我放置了从文本文件读取的名称 我知道我想单击按钮并打开一个已知窗口 我想在其中放置名称 其他信息来自同一个文件 这是我的代码 这是我的主框架 package Fronten
  • 带路径压缩算法的加权 Quick-Union

    有一种 带路径压缩的加权快速联合 算法 代码 public class WeightedQU private int id private int iz public WeightedQU int N id new int N iz new
  • java中监视目录变化

    我正在使用 WatchService 来监视目录中的更改 特别是目录中新文件的创建 下面是我的代码 package watcher import java nio file import static java nio file Stand
  • 有没有创建 Cron 表达式的 Java 代码? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要一个 Java 代码来根据用户输入创建一个 cron 表达式 用户输入是时间 频率和执行次数 只需从评论中添加 自己创建 即可
  • 两个整数乘积的模

    我必须找到c c a b mod m a b c m 是 32 位整数 但 a b 可以超过 32 位 我正在尝试找出一种计算 c 的方法 而不使用 long 或任何 gt 32 位的数据类型 有任何想法吗 如果m是质数 事情可以简化吗 注
  • 什么是抽象类? [复制]

    这个问题在这里已经有答案了 当我了解抽象类时 我说 WT H 问题 创建一个无法实例化的类有什么意义呢 为什么有人想要这样的课程 什么情况下需要抽象类 如果你明白我的意思 最常见的是用作基类或接口 某些语言有单独的interface构建 有
  • 如何调试“com.android.okhttp”

    在android kitkat中 URLConnection的实现已经被OkHttp取代 如何调试呢 OkHttp 位于此目录中 external okhttp android main java com squareup okhttp 当
  • 如何在 Java 中向时间戳添加/减去时区偏移量?

    我正在使用 JDK 8 并且玩过ZonedDateTime and Timestamp很多 但我仍然无法解决我面临的问题 假设我得到了格式化的Timestamp在格林威治标准时间 UTC 我的服务器位于某处 假设它设置为Asia Calcu
  • 将巨大的模式编译成Java

    有两个主要工具提供了将 XSD 模式编译为 Java 的方法 xmlbeans 和 JAXB 问题是 XSD 模式确实很大 30MB 的 XML 文件 大部分模式在我的项目中没有使用 所以我可以注释掉大部分代码 但这不是一个好的解决方案 目
  • 如何检查某个元素是否存在于一组项目中?

    In an ifJava中的语句如何检查一个对象是否存在于一组项目中 例如 在这种情况下 我需要验证水果是苹果 橙子还是香蕉 if fruitname in APPLE ORANGES GRAPES Do something 这是一件非常微
  • 轻松的反应

    我有一个与这里描述的类似的案例 动态更改RESTEasy服务返回类型 https stackoverflow com questions 3786781 dynamically change resteasy service return
  • hibernate 6.0.2.Final 和 spring boot 2.7.0 的entityManagerFactory bean 未配置问题

    所以最近我想升级我的 Spring Boot 项目项目的一些依赖项 特别是这些组件 雅加达 EE 9 弹簧靴2 7 休眠 6 0 2 Final 完成此操作后 所有更新和代码折射 更新将 javax 导入到 jakarta 以及一些 hib
  • Java Swing - 如何禁用 JPanel?

    我有一些JComponents on a JPanel我想在按下 开始 按钮时禁用所有这些组件 目前 我通过以下方式显式禁用所有组件 component1 setEnabled false 但是有什么办法可以一次性禁用所有组件吗 我尝试禁用
  • 使用 HtmlUnit 定位弹出窗口

    我正在构建一个登录网站并抓取一些数据的程序 登录表单是一个弹出窗口 所以我需要访问这个www betexplorer com网站 在页面的右上角有一个登录链接 写着 登录 我单击该链接 然后出现登录弹出表单 我能够找到顶部的登录链接 但找不
  • 列表过滤器内的 Java 8 lambda 列表

    示例 JSON id 1 products id 333 status Active id 222 status Inactive id 111 status Active id 2 products id 6 status Active
  • java 中的蓝牙 (J2SE)

    我是蓝牙新手 这就是我想做的事情 我想获取连接到我的电脑上的蓝牙的设备信息并将该信息写入文件中 我应该使用哪个 api 以及如何实现 我遇到了 bluecove 但经过几次搜索 我发现 bluecove 不能在 64 位电脑上运行 我现在应
  • 子类构造函数(JAVA)中的重写函数[重复]

    这个问题在这里已经有答案了 为什么在派生类构造函数中调用超类构造函数时 id 0 当创建子对象时 什么时候在堆中为该对象分配内存 在基类构造函数运行之后还是之前 class Parent int id 10 Parent meth void
  • 抛出 Java 异常时是否会生成堆栈跟踪?

    这是假设我们不调用 printstacktrace 方法 只是抛出和捕获 我们正在考虑这样做是为了解决一些性能瓶颈 不 堆栈跟踪是在构造异常对象时生成的 而不是在抛出异常对象时生成的 Throwable 构造函数调用 fillInStack
  • MiniDFSCluster UnsatisfiedLinkError org.apache.hadoop.io.nativeio.NativeIO$Windows.access0

    做时 new MiniDFSCluster Builder config build 我得到这个异常 java lang UnsatisfiedLinkError org apache hadoop io nativeio NativeIO
  • Java 11 - 将 Spring @PostConstruct 替换为 afterPropertiesSet 或使用 initMethod

    我正在使用 spring 应用程序 有时会使用 PostConstruct用于代码和测试中的设置 看来注释将被排除在外Java 11 https www baeldung com spring postconstruct predestro

随机推荐

  • 模块构建失败:错误:`sass-loader` 需要 `node-sass` >=4。请安装兼容版本

    你能帮助我吗 当我点击 ng s 时出现此错误 ERROR in src styles scss node modules raw loader node modules postcss loader lib embedded node m
  • 未知函数断言失败

    我正在使用这个程序来读取和显示图像 我不知道为什么它显示这个奇怪的错误 断言失败 scn 3 scn 4 在未知函数中 文件 src modules imgproc src color cpp第3326行 我更改了一些图像 有时它运行时没有
  • MySQL CREATE TABLE 语句中的主键定义

    这段代码有什么区别 CREATE TABLE samples sampleid INT 11 NOT NULL AUTO INCREMENT sampledate DATE NOT NULL location VARCHAR 25 NOT
  • 如何为 traefik 启用 logrotation?

    如何启用日志文件的日志轮转 例如访问日志 这是内置的吗 文档只说 这允许日志由外部程序轮换和处理 例如 logrotate 如果你正在跑步Traefik in a Docker容器然后你可以做这样的事情 检查 Docker 主机上是否安装了
  • 在Python中查找两个等值线图的交集

    我想知道是否有人可以给我找到两个等高线图交集的线索 理想情况下 它将采用一对轮廓 然后返回交点的坐标 Z1 somefunction Z2 somefunction1 Z3 somefunction2 xlist np linspace 0
  • Django allauth 示例 [Errno 61] 连接被拒绝

    当我运行 django allauth example 并尝试发送电子邮件时出现以下错误 File System Library Frameworks Python framework Versions 2 7 lib python2 7
  • 如何在 Matlab 中更新 scatter3 图(循环)

    这是一个非常简单的问题 但在网上找不到答案 我想可视化从激光雷达收集的点云 我可以绘制各个帧 但想循环它们以创建 动画 我知道如何使用 Drawingow 处理正常绘图 但无法使用 scatter3 处理它 如果我只是像在注释代码中所做的那
  • 如何检测有人摇晃 iPhone?

    我想在有人摇晃 iPhone 时做出反应 我并不特别关心他们如何摇动它 只是在瞬间用力挥动它 有谁知道如何检测这个 在 3 0 中 现在有一种更简单的方法 挂钩新的运动事件 主要技巧是您需要有一些 UIView 不是 UIViewContr
  • 将 box-shadow 设置为一组 HTML 元素

    我有两个元素 它们的侧面相互接触 它们的接触面具有不同的尺寸 尺寸 它们都需要在下面有一个阴影 问题是其中一个阴影总是覆盖其同级元素 我可以玩z index但这只是意味着我将选择两者中的哪一个将被兄弟姐妹的阴影覆盖 如果可以向一组元素添加阴
  • 设计 WPF 地图控件

    我正在考虑在 WPF 中制作一个简单的地图控件 并且正在考虑基本地图界面的设计 并且想知道是否有人对此有一些好的建议 我想到的是使用 ScrollViewer 无滚动条 作为我的 视图端口 然后将所有内容堆叠在画布上 从 Z Index 0
  • `Array.prototype.slice.call` 是如何工作的?

    我知道它是用来做arguments a real Array 但我不明白使用时会发生什么Array prototype slice call arguments 幕后发生的事情是当 slice 通常被调用 this是一个数组 然后它只是迭代
  • 如何在 stackdriver 中针对每个错误创建警报

    创建了基于日志的指标云控制台 https console cloud google com logs metrics 然后我想创建警报 以便每次有新的匹配日志条目时都会触发警报 在尝试创建合适的指标时 最有可能的选项似乎是阈值或变化率 但我
  • fancybox onStart onComplete 状态不起作用

    我正在努力继续工作onStart and onComplete方法使用FancyBox http fancybox net jquery 插件 我似乎无法让它为我工作 你们有人知道我做错了什么吗 这就是我现在正在尝试的 document r
  • 如何重置表中的身份

    我的情况是 我创建表为 id Identity 1 1 not null name varchar 500 category varchar 50 我尝试插入值 显示有 1 sede 糖尿病 结果是 1 2 3 但是当我删除全部内容时 再次
  • Android 中的转义“@”字符

    我正在寻找一种方法来转义 Android strings xml 资源中字符串开头的 符号 我不断收到编译错误 并且 Eclipse 中的布局构建器拒绝工作 有谁知道怎么办 字符景观取决于每个人 android文档提供了这个表https d
  • 如何查看Check Constraint的内容

    是否有一个 SQL 脚本可以让我查看约束的内容 我发现了一个有关 Oracle 的问题 但我需要一个 SQL 脚本 如何在Oracle上查看Check Constraint的内容 https stackoverflow com questi
  • intellij 2020.1 sbt mainRunner 配置

    我正在尝试遵循指示 https github com JetBrains intellij scala wiki 5BSBT 5D How to use provided libraries in run configurations用于设
  • Vue中如何通过Id获取元素?

    我想要一件外衣Element https developer mozilla org en US docs Web API Element在 Vue 中 使用getElementById https developer mozilla or
  • 安装 geoR 包时出现问题

    我刚刚在 Xubuntu 13 10 上安装了 R 和 R studio 版本 3 0 1 我想使用geoR包裹 但是 当我尝试安装它时 出现错误 install packages geoR 将软件包安装到 home R x86 64 pc
  • Java getter 与 this

    这是一个非常通用的场景 我使用 setter 函数设置变量并仅在本地使用该变量 class Main private String str public Main String value setStr value private Stri