java中的静态方法main
如果(i==0){print();},为什么第java中的静态方法main,java,compiler-errors,Java,Compiler Errors,如果(i==0){print();},为什么第行出现编译错误?是不是因为main是静态的,即使它在一个类中 public class A { private void print() { System.out.print(foo() + " "); } public String foo() { return "AAA"; } public static void main(String[] args) { A[] ar
行出现编译错误?是不是因为main是静态的,即使它在一个类中
public class A {
private void print() { System.out.print(foo() + " "); }
public String foo() { return "AAA"; }
public static void main(String[] args) {
A[] arr = { new A(), new B() };
for (int i = 0; i < 2; i++) {
/***/ if (i == 0) { print(); }
}
}
}
public class B extends A {
private void print() { System.out.println("%" + foo() + " "); }
public String foo() { return "BBB"; }
public void bar() { print(); }
}
公共A类{
私有void print(){System.out.print(foo()+“”);}
公共字符串foo(){返回“AAA”;}
公共静态void main(字符串[]args){
A[]arr={new A(),new B()};
对于(int i=0;i<2;i++){
/***/如果(i==0){print();}
}
}
}
公共类B扩展了A{
私有void print(){System.out.println(“%”+foo()+”);}
公共字符串foo(){返回“BBB”;}
公共空白栏(){print();}
}
出现编译器错误,因为您试图从静态方法main
调用非静态方法print
。是的,main
必须是静态的
您需要创建A
的实例,然后在该实例上调用print方法:
A a = new A();
a.print();
出现编译器错误,因为您试图从静态方法main
调用非静态方法print
。是的,main
必须是静态的
您需要创建A
的实例,然后在该实例上调用print方法:
A a = new A();
a.print();
print()
是非静态的。这意味着它用于类A的对象。您不能从main()
调用它,因为它是静态的,并且静态方法属于该类。要调用print()
,可以执行以下操作:
A a = new A();
a.print();
print()
是非静态的。这意味着它用于类A的对象。您不能从main()
调用它,因为它是静态的,并且静态方法属于该类。要调用print()
,可以执行以下操作:
A a = new A();
a.print();
主要是静态的;印刷不是。非常基本的东西;老实说,你不应该要求;但要从教程、书籍等中学习。学习静态的含义:main是静态的;印刷不是。非常基本的东西;老实说,你不应该要求;但要从教程、书籍等中学习。了解静态
的含义: