草根农民 發表於 2025-8-5 17:57:00

Java学习:工具类、构造器、实体类使用场景

<ol>
<li>封装的设计要求:合理隐藏、合理暴露</li>
</ol>
<ul>
<li>合理隐藏:创建成员变量时,使用private修饰</li>
</ul>
<pre><code>private int id; // 电影编号
</code></pre>
<ul>
<li>合理暴露:创建成员方法时,使用public修饰的get方法和set方法合理暴露</li>
</ul>
<pre><code>public void setId(int id) {
this.id = id;
}
</code></pre>
<ol start="2">
<li>实体类</li>
</ol>
<ul>
<li>要求1:成员变量全部私有,并提供public修饰的getter/setter方法</li>
<li>要求2:类中需要一个无参构造器,有参数构造器可选</li>
<li>实体类的对象只负责数据存取,而对数据的业务处理交给其他类的对象完成,以实现数据和数据业务处理相分离。</li>
</ul>
<pre><code class="language-java">// 电影信息.class
public class MoviesInformation {
    private int id; // 电影编号
    private String name;    // 电影名称

    // 1. 初始化:构造器在对象创建时进行必要的初始化
    // (1)无参构造函数:必须包含
    public MoviesInformation() {}

    // (2)有参构造函数:需要初始化才使用
    public MoviesInformation(int id, String name) {
      this.id = id;
      this.name = name;
    }

    // 2. getter/setter方法用于在对象创建后修改属性。
    public int getId() { return id; }
    public void setId(int id) { this.id = id; }
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
}
</code></pre>
<ol start="2">
<li>工具类:没有创建对象的需求,建议将工具类的构造器进行私有,用于封装通用功能</li>
</ol>
<pre><code class="language-java">// 工具类.class
public class MoviesOperator {
    private MoviesInformation[] movies;// 电影信息
    public MoviesOperator(MoviesInformation[] movies) {
      this.movies = movies;
    }
    public void searchMovieById(int id) {
      System.out.println("=====当前电影信息=====");
      for (int i = 0; i &lt; movies.length; i++) {
            if (movies.getId() == id) {
                System.out.println("名称:" + movies.getName() + "\n" +
                                           "价格:" + movies.getPrice());
            }
      }
    }
}
</code></pre><br><br>
来源:https://www.cnblogs.com/Saintwaters/p/19023752
頁: [1]
查看完整版本: Java学习:工具类、构造器、实体类使用场景