getter&setters方法在Java中做了什么,它们与常规方法有什么不同,为什么getMethod有时会丢失?

Boo*_*ajP 2 java

我是Java新手.

  1. 任何人都可以解释getter和setter方法的作用吗?

  2. 我们必须使用getter setters方法以及它与普通方法的区别?

  3. 我看到一些编码只有setter方法所以这里为什么没有声明getters方法?

    private String wheel;
    
    /**
     * @param wheel the wheel to set
     */
    public void setWheel(String wheel) {
        this.wheel = wheel;
    }
    public void rotate() {
        System.out.println(wheel+"rotated");
    }
    
    Run Code Online (Sandbox Code Playgroud)

aio*_*obe 5

任何人都可以解释getter和setter方法的作用吗?

Get-methods和set-methods有助于封装数据.就这样.而不是写作

object.wheel = new Wheel(5);
// ...
object.wheel.rotate();
Run Code Online (Sandbox Code Playgroud)

你做

object.setWheel(new Wheel(5));
// ...
object.getWheel().rotate();
Run Code Online (Sandbox Code Playgroud)

这使您可以更好地控制字段的更新.你可以举例如:

  • IllegalArgumentException如果车轮不合适则扔一个.
  • getWheel-method中即时计算或加载新轮.
  • 让其他对象听取轮子更新

等等

我们必须使用getter setters方法以及它与普通方法的区别?

你不具备使用getter和setter方法,这是一个好的做法.

从技术上讲,getter和setter 与普通方法没什么区别.它们只是具有特定(简单)的目的.

我看到一些编码只有setter方法所以这里为什么没有声明getters方法?

该类的作者根本不想将wheel-object暴露给用户.原因可能有所不同.