当前位置: 首页 > 面试题库 >

Java:如何从另一个类访问方法

丁韬
2023-03-14
问题内容

我试图尽可能简化我的困境。我有三节课:

Α:

public class Alpha {
     public void DoSomethingAlpha() {
          cbeta.DoSomethingBeta()  //?
     }
}

Beta:

public class Beta {
     public void DoSomethingBeta() {
          // Something
     }
}  

主要:

public class MainApp {
     public static void main(String[] args) {           
          Alpha cAlpha = new Alpha();   
          Beta cBeta = new Beta();
     }
}

我希望我不要过分简化。我的问题是如何从Alpha中的方法访问cBeta.DoSomethingBeta()?


问题答案:

你需要以某种方式为Alpha类提供对cBeta的引用。有三种方法可以做到这一点。

1)在构造函数中为Alphas提供Beta。在Alpha课堂上写道:

public class Alpha {
   private Beta beta;
   public Alpha(Beta beta) {
     this.beta = beta; 
   }

并从main()调用cAlpha = new Alpha(cBeta)

2)给Alphas一个变种,使其具有beta。在Alpha课堂上写道:

public class Alpha {
   private Beta beta;
   public void setBeta (Beta newBeta) {
     this.beta = beta;
   }

调用cAlpha = new Alpha(); cAlpha.setBeta(beta); 从main(),或

3)将beta作为doSomethingAlpha的参数。在Alpha类中写道:

public void DoSomethingAlpha(Beta cBeta) {
      cbeta.DoSomethingBeta()
}

你使用哪种策略取决于几件事。如果你希望每个Alpha都具有Beta,请使用数字1。如果只希望某些Alpha具有Beta,但你希望它们无限期地保留其Beta,请使用数字2。如果你希望Alpha仅处理Betas,请使用数字2。在调用doSomethingAlpha时,请使用数字3。起初,变量作用域很复杂,但是一经掌握,它会变得更加容易。让我知道你是否还有其他问题!



 类似资料:
  • 我是java新手,我不知道如何从另一个类访问变量 我正在尝试编写一个代码来发送带有未存储在本地的附件的邮件。我想访问SendMail类中ExcelFile类中编写的变量 如何在另一个类中访问excelFileAsByte并发送邮件而不将其存储在本地。我可以使用addBodyPart和ByteArrayResource将文件添加为附件吗。

  • 问题内容: 您好我是Java的初学者,这是我的问题:我有带有以下变量的第一堂课: 我也有这堂课: 我的问题是:我想将number1和number2变量存储到ArrayList中,然后从类test中访问此ArrayList。我怎样才能做到这一点? 问题答案: 和测试类:

  • 问题内容: 我是Android和Java的新手,但是在Objective C和iPhone编程方面确实有一些经验。我试图重新创建一个已经为iPhone设计的应用程序,并且陷入了应该是一个简单概念的困境。 在我的ParserHandler类中,我从服务器解析XML,并将数据放入三个单独的ArrayList中。解析似乎工作正常。当我登录并在ParserHandler.java类中遍历ArrayList

  • 我想在另一个类中使用那个擦除方法,但由于它看起来不是静态的,所以我不能这样做 那么我如何访问那个方法呢?

  • 有没有减少代码冗余的方法?