gpt4 book ai didi

Java - 如何为类外变量抛出 IllegalArgumentException

转载 作者:行者123 更新时间:2023-12-01 18:32:04 25 4
gpt4 key购买 nike

我必须建立一个电视类模型,其中包含电视当前的 channel 号。

public class Television {

private int channel;

public Television(int channel) {

this.channel = channel;
}

之后,我必须为 channel 创建一个 setter。

    public void setChannel(int channel) {
this.channel = channel;
}

然后我必须创建一个带有两个构造函数的新类:

第一个没有参数,并将新的 int( channel 限制)设置为 10:

public class ChannelLimit {

int chLimit;

public ChannelLimit() {
chLimit = 10;
}

问题:

第二个将 chLimit 作为参数,并在我设置的 channel 低于 0 或高于 channel 限制时抛出 IllegalArgumentException。

我遇到的问题是:我找不到访问新设置 channel 的简单方法。

我的第一个猜测是使用 getter,但是如果我有多个对象,我是否必须为每个对象编写一个 setter?

最佳答案

是的,您应该为类中的每个属性创建 getter 和 setter,其名称为 1.1.1.5 Encapsulation

Encapsulation describes the ability of an object to hide its data and methods from the rest of the world and is one of the fundamental principles of object-oriented programming.

在您的代码中,channel 是私有(private)的,因此您无法在类之外访问它。所以有两种方法。

  1. 将您的访问权限更改为公开,然后您将能够直接访问 channel 。 “这不是一个好主意”
  2. 为您的类中的属性创建 getter 和 setter。

关于Java - 如何为类外变量抛出 IllegalArgumentException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60144554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com