Java 从另一个类文件向类添加方法
可以用Java编写这种代码吗?我有一个原始的java文件名ClassA,但我不想在其中乱放太多东西。所以我创建了另一个ClassB.java来输入要在ClassA.java中调用的新方法Java 从另一个类文件向类添加方法,java,class,Java,Class,可以用Java编写这种代码吗?我有一个原始的java文件名ClassA,但我不想在其中乱放太多东西。所以我创建了另一个ClassB.java来输入要在ClassA.java中调用的新方法 public class ClassA implements XYZ{ public ClassA() { Abc(); } } ClassA.java public class ClassA implements XYZ{
public class ClassA implements XYZ{
public ClassA() {
Abc();
}
}
ClassA.java
public class ClassA implements XYZ{
public ClassA() {
Abc();
}
}
ClassB.java
public class ClassB {
public ClassB Abc{
}
}
如果您希望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。如您所见,除非在非常特殊的情况下,否则尝试让您的类扩展这两个实体中的任何一个都是没有意义的
否则,您的问题仍然很不清楚,如果您仍然有问题,需要我们的帮助,您最好给出您试图实现的具体示例。虽然您的代码完全不清楚,但我觉得您需要这个
public class ClassB extends ClassA{
super.Abc(); //calls parent class method
}
您可以在ClassA变量中声明另一件事情,以访问ClassB中的方法和属性,如下所示:
public ClassA() {
ClassB classB = new ClassB();
classB.Abc();
}
或
你的问题对我来说毫无意义。请澄清。如果您想直接使用ClassA的方法,为什么不扩展它呢?或者使用组合来使用它的功能。
公共类ClassB扩展ClassA
…?整个情况是这样的,ClassA.java只调用ClassB.java中的方法。请阅读,我不确定您想要实现什么。如果您担心破坏类,那么编写单元测试将有助于减少逻辑上的倒退。如果您想声明ClassB
是ClassA
,那么继承是可以接受的。你能更明确地说明你的意图吗?现在,它们没有什么意义。
public ClassA() {
new ClassB().Abc();
}