3 回答
TA贡献1934条经验 获得超2个赞
您需要以某种方式为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。起初,变量作用域很复杂,但是一经掌握,它会变得更加容易。让我知道您是否还有其他问题!
TA贡献1780条经验 获得超1个赞
方法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(); //?
}
}
顺便说一下,这是作业吗?
TA贡献1820条经验 获得超9个赞
您需要在Alpha类或其方法中创建Beta类型的对象
就像您在主Beta中所做的一样cBeta = new Beta();
如果要使用在Main中创建的变量,则必须通过使Alpha构造函数看起来像这样将其解析为cAlpha作为参数
public class Alpha
{
Beta localInstance;
public Alpha(Beta _beta)
{
localInstance = _beta;
}
public void DoSomethingAlpha()
{
localInstance.DoSomethingAlpha();
}
}
添加回答
举报