java - 我应该如何更改另一个类的值

标签 java oop language-concepts

我正在学习用 Java 编程,我想知道将一个值从另一个组合类更改为一个组合类是否是一个好的 OO 编程概念。像这样:

public class X{
    public void x(Y y){
        y.setY(0);
    }
}

A simple example of the structure 1

或者我应该向主类上诉?像这样:

public class X{
    public void x(Main m){
        m.modifyY(0);
    }
}

public class Main{
    private Y y;
    private X x;

    public void modifyY(Main m){
        y.modifyY(0);
    }
}

A simple example of the structure 2

PS:我也在学习UML,所以如果我说错了,我很抱歉。

最佳答案

你可以这样改变,

public class X{
    public X(Y y){
        y.setY(0);
    }
}

public class Y{
   public int val=0;
   public void setY(int p_val){
       val=p_val;
   }
}

public class Main{
    public void modifyY(){
         new X(new y());
    }
}

关于java - 我应该如何更改另一个类的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50019476/

相关文章:

java - 字符串连接中带或不带大括号可选

java - 如何在 Android 中获取更详细的位置名称?

rust - Rust 中的浅复制和移动

delphi - 如果我将父控件传递给 Create 而不是分配 Parent 属性,为什么我的新控件不会出现?

c++ - C语言中的const限定词和C++语言中的const限定词有什么区别?

Java servlet doPost 方法不起作用

oop - 具有伴随对象的类与具有相同名称的类和对象之间有什么区别?

java - 为什么要使用继承?

ios - 设置模型类之间的关系

java - HttpClient 和连接超时