是否可以在Java中以这种方式编码?我有一个原始的java文件名ClassA,但我不想太乱用它。所以我创建另一个ClassB.java来输入要在ClassA.java中调用的新方法
ClassA.java
public class ClassA implements XYZ{
public ClassA() {
Abc();
}
}
ClassB.java
public class ClassB {
public ClassB Abc{
}
}
答案 0 :(得分:1)
您可以在A类变量中声明的另一件事来访问B类中的方法和属性,如下所示:
public ClassA() {
ClassB classB = new ClassB();
classB.Abc();
}
或
public ClassA() {
new ClassB().Abc();
}
答案 1 :(得分:0)
如果您希望ClassB具有ClassA功能,则应通过继承或通过合成来增强ClassB。例如:
继承:
public class ClassB extends ClassA {
// now can use or override ClassA methods.
}
成分:
public class ClassB {
private ClassA classA = new ClassA();
// now we can use classA instance throughout this class
}
作为一般规则,我试图赞成合成而不是继承。组合的一个示例是为您的类提供Scanner或ArrayList对象,并在类的方法中使用Scanner或ArrayList。正如您所看到的,除非在非常特殊的情况下,尝试让您的类扩展这两个实体是没有意义的。
否则你的问题仍然不清楚,如果你仍然遇到问题并需要我们的帮助,你最好给出你想要达到的目标的具体例子。
答案 2 :(得分:0)
虽然你的代码完全不清楚,但我觉得你想要这个
public class ClassB extends ClassA{
super.Abc(); //calls parent class method
}
答案 3 :(得分:0)
public class ClassB extends ClassA
会帮助你达到目的