我遇到了一个问题,我需要在另一个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 ...)
答案 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
,您将能够访问其他类变量。希望能帮助到你。感谢。