我真的是Java的初学者,如果有人能解释我怎么能从我的方法中获得回报以便在另一个实际上称之为下一个类的类中使用它,我将不胜感激。我的代码是:
private static String[] months(int val){
String[] monthsNames = { "January", "February", "March", "April",
"May", "June", "July", "August", "September", "October",
"November", "December"};
return monthsNames[val];
}
编辑:我做了
public static String months(int val){
String[] monthsNames = { "January", "February", "March", "April",
"May", "June", "July", "August", "September", "October",
"November", "December"};
return monthsNames[val];
}
我从eclipse得到的是MonthNames无法解析为变量
EDIT2 ** 现在它有效。谢谢大家的帮助!
答案 0 :(得分:4)
您将返回一个String
,而不是String[]
。变化
private static String[] months(int val){
到
private static String months(int val){
但是,如果您想从其他课程调用它,则需要将private
更改为public
(或者如果其他课程位于同一个课程中,则可以删除private
然后你将拥有包私有级别权限)。最后,如果另一个类是子类,您可以将private
更改为protected
(然后它只对子类可见)。
答案 1 :(得分:3)
使方法private
限制对声明方法的类的可见性。如果要在另一个类中使用此方法,则应使其更加可见,例如通过声明public
。
其次,您的方法当前正在返回一个String数组(String[]
)。如果要返回String,则应使用public static String months(int val)
而不是public static String[] months(int val)
如果方法返回了monthsNames变量,String[]
将是正确的,但monthNames的元素只是String
。
public static String months(int val) {
String[] monthsNames = { "January", "February", "March", "April",
"May", "June", "July", "August", "September", "October",
"November", "December"};
return monthsNames[val];
}
答案 2 :(得分:2)
更改返回类型,您希望在给定索引时返回字符串...
private static String months(int val){..
答案 3 :(得分:2)
如果您想从monthsNames返回月份名称,只需更改返回类型和访问修饰符。
private static String[] months(int val);
到
public static String months(int val);