大家好我有一个问题。我尝试将对象数组传递给方法时出错 我的班级
public class Object {
private int x1;
public Object(int a ,){
this.x1=a;
}
public class staticMethods{
public static void findMaxPos(Object[] name){
max = name[0]
pos = 0
for( int i=1; i<name.length ; i++){
if ( name[i] >max ){
max = name[i];
pos = i;
}
}
}
public class Example{
public static void main(String[] args) {
Object[] yp = new Object2[3];
yp[0] = new Object(5);
yp[1] = new Object(6);
yp[2] = new Object(8);
findMaxPos(type)// i get an error of the method findMaxPos is undefined for the type Example
}
很抱歉这篇长篇文章...
答案 0 :(得分:1)
findMaxPos是类staticMethod的静态方法。
如果你没有在定义它的类中调用静态函数,你需要在之前使用类的名称来调用它:
public static void main(String[] args) {
Object[] type = new Object2[3];
yp[0] = new Object(5);
yp[1] = new Object(6);
yp[2] = new Object(8);
staticMethods.findMaxPos(type);// This should be ok.
}
请注意,在java中,约定是为类提供一个以大写字母开头的名称(以小写字母开头的名称将赋予实例)。
答案 1 :(得分:0)
嗯,上述解决方案应该可行,但除此之外,还有一些其他事项需要考虑。