我是Java的新手,我有一个小问题。我认为这是由于对这些概念的一些误解。
所以,我有主课程菜单:
/**
* menu.java
*/
public class menu {
public void run() {
println ("1. Option#1.");
println ("2. Option#2.");
println ("============");
int choose = readInt("Enter a choice:");
if (choose == 1) {
// QUESTION>>>>> // ### how can I call class option1.java here?
}
}
/**
* option1.java
*/
public class option1 {
public void scriepedos () {
setFont("Times New Roman-24");
while (true) {
String str = readLine("Please enter a string: ");
if (str.equals("")) break;
String rev = reverseString(str);
println(rev);
}
}
private String reverseString(String str) {
String result = "";
for (int i=0; i<str.length();i++){
result=str.charAt(i)+result;
}
return result.toLowerCase();
}
}
非常感谢提前。利奥
答案 0 :(得分:2)
你需要一个option1的实例来调用例如
option1 o1 = new option1();
o1.scriepedos();
或者,您可以制作方法static
。这意味着您不需要对象的相应实例,例如在option1.java
public static void scriepedos () { ...
然后在main.java
option1.scriepedos();
以上不是很OO。你现在正在利用这样一个事实:你可以拥有一个封装状态等的对象,这是一个更加程序化的风格。
注意:
Option1
,Main
答案 1 :(得分:1)
你不能打电话给上课。你必须创建类的新对象并调用它的方法如下:
Option1 op1 = new Option1();
// call any Option1 method
op1.scriepedos();