如何使用另一个类的值

我想要一个类或其他更好的东西来存储我想在其他类中使用的常量值。


例如,我想要一个名为 A 的类,它看起来像


public class A

{

  public int x = 1;

}

在另一个类中,我想在方法中使用该值:


class B

{

  public void test()

  {

    int y = A.x;

  }

}

我知道这是错误的,这只是我想使用的一个例子。这可能是一个基本问题,但我对编程没有太多经验。


30秒到达战场
浏览 161回答 3
3回答

慕虎7371278

将所有内容都公开是不好的做法。访问修饰符设置方法、类或变量的可访问性。同时,面向对象编程有四大支柱。抽象、继承、多态和封装。希望这一定会帮助你。同时在您的问题中,如果您确实需要访问 A 类的行为或方法,您可以将其设为静态并在另一个类中访问。public class A{    public static int x = 1;     public static void print(){        //some code here    }}public class B{    public void test(){        int a = A.x;        A.print();    }}或者另一种方法是将 x 设为私有并为其设置 getter 和 setter。在类 B 中初始化 A 的实例并通过其实例访问它。A obj = new A();int a = obj.getX();

梦里花落0921

您必须A在 classB中创建 class 的实例才能访问它的属性(或者在您的情况下它是 field x)。internal class A {    public int X { get; set; } = 1;}internal class B {    private A myInstanceOfA = new A();    public void test() {        int y = myInstanceOfA.X;    }}但是,您可以在A不创建本地实例的情况下访问类的静态和常量成员:internal class A {    public const int X = 1;}internal class B {    public void test() {        int y = A.X;    }}

守候你守候我

您可能想要的是一个const或static变量,您可以在其中定义一个值并在不初始化类的情况下访问它。用你的例子,它会是这样的:public class A {    public const Int32 ConstantVariable = 0;    // or    public static Int32 StaticVariable = 0;}public class B {    public void test() {        Int32 y = A.ConstantVariable;        // or        Int32 y = A.StaticVariable;    }}请注意,const变量需要当场初始化一个值并且不能更改值,而static变量可以在运行时分配并随时更改。
打开App,查看更多内容
随时随地看视频慕课网APP