public class MyClassTest {
private static MyClass m;
public static void main(String[] args) {
m.initMe(getint());
}
public static int getint() {
m = new MyClass();
return (int) Math.random()*100;
}
}
class MyClass{
int i;
void initMe(int i) {
this.i = i;
System.out.println(this.i);
}
}
Этот фрагмент кода дает NullPointerException
, в результате чего initMe()
вызывается перед getint
вызывается. Какова будет основная причина этой проблемы? Является ли JAVA передачей по значению, поэтому эта ссылка не влияет.Java вызов метода заказа
Дайте мне правильную причину.
main - это первый вызванный метод, инициализирующий m, перед вызовом initMe MyClass. – Batty
@Batty да, вы правы, если я сначала вызываю 'getint', тогда код работает отлично ... Но я спрашиваю, что будет причиной, поэтому мой код дает мне исключение. – Mitesh