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

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


Α:


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()?


萧十郎
浏览 396回答 3
3回答

慕村225694

您需要以某种方式为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。起初,变量作用域很复杂,但是一经掌握,它会变得更加容易。让我知道您是否还有其他问题!

Qyouu

方法1:如果DoSomethingBeta方法是静态的,则只需调用:Beta.DoSomethingBeta();方法2:如果Alpha从Beta开始扩展,则可以直接调用DoSomethingBeta()。public class Alpha extends Beta{     public void DoSomethingAlpha() {          DoSomethingBeta();  //?     }}方法3:另外,您需要访问Beta实例才能从中调用方法。public class Alpha {     public void DoSomethingAlpha() {          Beta cbeta = new Beta();          cbeta.DoSomethingBeta();  //?     }}顺便说一下,这是作业吗?

明月笑刀无情

public class WeatherResponse {private int cod;private String base;private Weather main;public int getCod(){    return this.cod;}public void setCod(int cod){    this.cod = cod;}public String getBase(){    return base;}public void setBase(String base){    this.base = base;}public Weather getWeather() {    return main;}// default constructor, getters and setters}另一堂课public class Weather {private int id;private String main;private String description;public String getMain(){    return main;}public void setMain(String main){    this.main = main;}public String getDescription(){    return description;}public void setDescription(String description){    this.description = description;}// default constructor, getters and setters}//访问方法//成功!    Log.i("App", weatherResponse.getBase());    Log.i("App", weatherResponse.getWeather().getMain());    Log.i("App", weatherResponse.getWeather().getDescription());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java