当前位置: 首页 > 知识库问答 >
问题:

在Java中设置类内另一个类的变量

洪承天
2023-03-14

我的主课有两个班(我们称它们为classA和classB)。

是否有机会在classB中设置classA变量?

诸如此类:

class classB {
    int indexB;

    classB() {
        indexB = 0;
        classA.index = indexB;
    }
}

非常感谢!问候

共有3个答案

章光华
2023-03-14

索引必须是a类的静态变量。然后您可以这样做。

段恩
2023-03-14

是的,这是可能的。假设类class Aindex也受包保护,并且class Aclass B在同一个包中,那么您可以这样做:

class classA {
    int index;
    classA() {}
    // OR
    classA(int index) {
        this.index = index;
    }
}

class classB {
    int indexB;
    classA classA;

    classB() {
        indexB = 0;

        classA = new classA();
        classA.index = indexB;
        // OR 
        classA = new classA(indexB);
    }
}

如果两个类都在不同的包中,那么您需要一个公共setter,用于classA中的索引,如ssantos所示(我展示的第二种方法,使用构造函数,在这种情况下也会起作用,如果构造函数是公共的)。

然而,直接访问其他类的成员不是很好。为此,请使用getter和setter,还请考虑java命名约定:类应该以大写字母开头,因此ClassA和ClassB。

甘英光
2023-03-14

是的,您可以像在代码片段中那样直接分配classA的公共变量,或者为私有变量声明setter-

A类

public setIndex(int index) {
    this.index = index;
}

B类

classAInstance.setIndex(indexB);
 类似资料:
  • 我有一个类“C”,它有一个内部类“Ci”。“C”类继承了“S”类。“S”类也有一个内部类“Si”。“Ci”能继承“Si”吗?非常感谢任何回应的人。 这样的事情可能吗?

  • 我有一个类Main(它具有公共静态void Main(String[]args))和另一个类MyDocument。 Main类中存在一个变量,我想从MyDocument类中的函数alphabetOccurrence()访问该变量。我该怎么做呢?我不想用它作为静态变量。任何修改只能在函数中进行,其余的代码应该保持不变。

  • 我目前正在与tkinter一起完成一项学校作业,为用户创建一个图形用户界面以输入他们的输入。我决定将输入分成不同的页面,以避免用户被问题淹没,并且不需要滚动 每一页都有一系列标签和条目,在一个右除数和一个左除数上分开,我已经设法在每一页上实现了这一点,付出了一些努力。这是我工作代码的简化版本: 然而,在将每个页面拆分为两个不同的Frame()容器时,我遇到了两个问题: 用ipadx和ipady设置

  • 问题内容: 我想将一个类变量传递给另一个类,并使其成为该类的类变量。在以下情况下我该怎么做? 问题答案: 很难理解您正在问的问题,但这是一个可能的答案: 使B类成为A的子类: 如果重新声明为,则会出现一种情况,其中存在一个可以称为或的属性。(或在任一或刚刚…甚至作为或地方,并有类型和分别。) 如果您无法在和(或,以及一些包含声明的第三类)之间创建直接或子类型关系,那么您很不走运。他们无法共享声明。

  • 当我在类中声明/初始化变量时(setter和getter)。如何从另一个类更改此值

  • 我在class中定义了一个变量。它可以很好地执行Account类中定义的提款功能。但是,我希望访问Sav\u acct类中存在的函数interest中的变量值。它将收回的值取为0。如何使用兴趣函数中的函数中的函数的值,以便执行正确的数学运算? 导入java。util。扫描仪; 类别帐户{ 双重撤回; } 作废取款(){ 扫描仪sc=新扫描仪(系统英寸); 系统出来println(“您想提取多少?”