-1

是否可以在 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{
        }

    }
4

4 回答 4

1

您可以在 ClassA 变量中声明的另一件事是访问 ClassB 中的方法和属性,如下所示:

public ClassA() {
    ClassB classB = new ClassB();
    classB.Abc();
}

或者

public ClassA() {
    new ClassB().Abc();
}
于 2013-09-25T03:51:06.540 回答
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。如您所见,尝试让您的类扩展这两个实体中的任何一个都是没有意义的,除非在非常特殊的情况下。

否则,您的问题仍然很不清楚,如果您仍然遇到问题并需要我们的帮助,您最好提供具体示例来说明您正在努力实现的目标。

于 2013-09-25T03:43:07.870 回答
0

尽管您的代码完全不清楚,但我觉得您想要这个

public class ClassB extends ClassA{
super.Abc(); //calls parent class method
}
于 2013-09-25T03:45:00.143 回答
0
public class ClassB extends ClassA

会让你明白你的意思

于 2013-09-25T03:48:06.517 回答