【问题标题】:Call a Class From another class [closed]从另一个班级调用一个班级[关闭]
【发布时间】:2013-11-06 10:34:57
【问题描述】:

我想从 class1 调用 class2,但 class2 没有可引用的 ma​​in 函数喜欢Class2.main(args);

【问题讨论】:

  • 你应该通过一个基本教程..
  • 这很糟糕。测试应该是独立的和独立的。

标签: java class selenium selenium-webdriver call


【解决方案1】:

假设你有

第一类

public class Class1 {
    //Your class code above
}

类2

public class Class2 {
}

然后你可以以不同的方式使用 Class2。

类字段

public class Class1{
    private Class2 class2 = new Class2();
}

方法字段

public class Class1 {
    public void loginAs(String username, String password)
    {
         Class2 class2 = new Class2();
         class2.invokeSomeMethod();
         //your actual code
    }
}

Class2 中的静态方法 想象一下这是你的 class2。

public class Class2 {
     public static void doSomething(){
     }
}

从 class1 你可以随时使用 Class2 的 doSomething

public class Class1 {
    public void loginAs(String username, String password)
    {
         Class2.doSomething();
         //your actual code
    }
}

【讨论】:

  • 在面向对象的书籍中,通常会写到对象通过调用另一个对象的方法在它们之间交换消息。这个答案描述了它可以在 Java 中发生的唯一方式,还是有其他方式可以发生消息交换?
【解决方案2】:

如果你的 class2 看起来像这样有静态成员

public class2
{
    static int var = 1;

    public static void myMethod()
    {
      // some code

    }
}

然后你可以简单地称呼他们

class2.myMethod();
class2.var = 1;

如果您想访问非静态成员,则必须实例化一个对象。

class2 object = new class2();
object.myMethod();  // non static method
object.var = 1;     // non static variable

【讨论】:

    【解决方案3】:

    只需创建Class2 的实例并调用所需的方法。

    推荐阅读:http://docs.oracle.com/javase/tutorial/java/javaOO/

    【讨论】:

    • 我必须在类 1 中创建类 2 的实例吗?
    • @SagarT 你是对的,你需要从你需要调用的地方创建一个实例。
    【解决方案4】:
    Class2 class2 = new Class2();
    

    也许您应该在需要时调用各个方法,而不是调用主方法。

    【讨论】:

    • 我希望在一个实例中调用整个 Class2?我该怎么办?
    • 您需要创建并调用一个主方法 class2.main(args[]);或者调用处理您希望执行的代码的控制器方法。 class2.controllerMethod(); public class2{ public void controllerMethod(){ // 你希望在这里执行的代码 } }
    【解决方案5】:

    首先在 class1 中创建一个 class2 的对象,然后使用该对象调用 class2 的任何函数 例如 在class1中写这个

    class2 obj= new class2();
    obj.thefunctioname(args);
    

    【讨论】:

    • 如果方法是静态的,我们不需要对象,对吧?
    猜你喜欢
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2018-07-24
    相关资源
    最近更新 更多