두 클래스 사이에서 메서드 및 변수를 호출하는 방법을 배웠습니다. 상속을 사용하지 않고 한 클래스에서 다른 클래스로 값을 이동할 수 있는지 알고 싶었습니다. 다음은 그 예입니다.자바에서 상속받지 않고 한 클래스의 변수 값을 다른 클래스로 옮길 수 있습니까?
- class1과 class2의 두 클래스를 만듭니다.
- class1에 값이있는 변수를 입력합니다.
- 변수 값을 class2로 이동하십시오.
- 클래스 2의 if 문으로 테스트 할 값을 지정합니다.
- 클래스 2의 출력을 클래스 1로 이동하거나 클래스 2의 출력을 사용하여 메소드를 class1 내에서 호출 할 수 있습니다.
이것은 실제 프로그램 아키텍처는 아니지만 제 학습 목적으로 만 사용됩니다. 고맙습니다. 업데이트 : 나는 위의 아이디어를 보여주기 위해 내가 한 일의 일부 코드를 게시하도록 요청 받았다. 여기
class MainClass
{
public static void main(String[] args)
{
System.out.println("You have entered: " + args[0]);
static int num = Integer.parseInt(args[0]);
SubClass.calc(); //I believe I override it by passing value to a method within SubClass
}
}
두 번째 클래스입니다 : 여기 는 하나 개의 클래스입니다
class SubClass
{
public static void calc()
{
System.out.println("This is the output" + MainClass.num);
}
}
I [0] MainClass에서 서브 클래스에 인수 내 값을 이동하려고했지만 내가하려고하면 오류가 발생합니다 문자열에서 int 데이터 형식으로 변환하려면 다음을 수행하십시오.
[email protected]:~/myjava$ javac MainClass.java
MainClass.java:9: error: cannot find symbol
static int num = Integer.parseInt(args[0]);
^
symbol: variable args
location: class MainClass
1 error
문제점을 해결하기 위해 수행 할 수있는 조치가 있습니까? 당신이를 보관할 수있는 정적 사용
파벨 (Pavel), 귀하가 시도한 것을 보여주기 위해 몇 가지 코드를 게시해야합니다. 그리고 당신은 stackoverflow에 게시해야합니다. –
안녕하세요 @ pavelexpertov, 나는 무엇을 성취하려고하는지 모르지만이 경로는 좋은 것 같지 않습니다. 매개 변수를 전달할 수있는 방식으로 코드를 리팩터링하십시오. – Joqus
아래에 몇 가지 답변이 있습니다. 당신이 볼 수 없다면, 나는 내 게시물이 stackoverflow로 옮겨 졌다고 생각해. 그리고 이상한 몇 가지 이유로 나는 프로그래머의 사이트뿐만 아니라 stackoverflow의 게시물에 내 게시물을 참조하십시오. – pavelexpertov