初学java,看到书上的编纂,可能出现了错误。
问:非静态的方法可以存取静态的变量吗?
回答:当然可以。非静态方法不可以调用该类静态的方法或静态的变量。
实在是头大,网上查询都说非静态方法可以调用静态的方法和变量。但我自己试了一下
class Duck{
private int size;
static int duckCount=0;
public Duck(){
duckCount++;
}
}
public class DuckTest{
public static void main(String[] args){
System.out.println(Duck.duckCount);
Duck a=new Duck();
System.out.println(Duck.duckCount);
}
}
main函数前,不加static是会报错,无法通过的。一定要加static。
那就感觉一定要静态方法才能调用静态变量的感觉,和网上的说法又有冲突。
我知道静态方法是不可以调用非静态的变量和非静态方法的。
对于非静态方法现在混乱了。求解答