如何从另一个类中的一个java类调用变量

时间:2014-05-12 18:01:57

标签: java webdriver

我遇到了一个问题,我需要在另一个java类中调用在一个java类中创建的变量。

Course.java

public class Course {
   public String courseName;

SecondCourse.java

    public class SecondCourse {
        Course courseName;

@Before
    public void setUp() throws Exception {
        courseName = new Course();

尽管如此,我已经设置了这样,变量调用在SecondCourse.java类中不起作用。我错过了什么吗? 你能救我吗?

我试图打电话

driver.findElement(By.xpath("//div/input")).sendKeys(courseName); 

在SecondCourse.java类中。 但是给了我错误  无法应用org.openqa.selenium.WebElement中的sendKeys(java.lang.CharSequence ...)

5 个答案:

答案 0 :(得分:1)

首先,在Course.java类中定义

public class Course
{
    public static String courseName; //Define variable as static here
 }

使用类名

访问任何类中的变量
Course.courseName = "abc"; // /Access this variable 

答案 1 :(得分:0)

Course courseName的{​​{1}} <{1}}定义了SecondCourse类型的成员字段 - 它与Course的{​​{1}}不对应。如果需要,您可以使用String courseName访问Course courseName Course courseName对象的Course字符串。

答案 2 :(得分:0)

简单地 在SecondCourse.java中

       public class SecondCourse {
            Course obj = new Course(); // creates new obj for Course class

    @Before
        public void setUp() throws Exception {
            //courseName = new Course(); //You won't need this.
        system.out.println("Here is how your obj can be called "+ obj.courseName);
}

答案 3 :(得分:0)

不是100%确定您的总体目标是什么,但这可能会有所帮助。

public class Course {
    private String courseName;

    public Course(String courseName) {
        this.courseName=courseName;
    }

    public String getCourseName() {
        return this.courseName;
    }
}

public class SecondCourse {
    private Course course;

    public SecondCourse(String courseName) {
        course=new Course(courseName);
    }

    public void setup() {
        String courseName=course.getCourseName();
        /*
         * Do something with courseName
         */
    }
}

Course类初始化并授予对其courseName变量的访问权限,而Second Course使用Course类提供的功能对该课程进行额外的工作。

此外,encapsulation上的这篇文章可能会有用。

答案 4 :(得分:-2)

使用Course.courseName,您将能够访问其他类变量。希望能帮助到你。感谢。