类变量&类方法-练习

题1 输出什么?

public class Test {
	static int count = 9;
	public void count() {
		System.out.println(" count=" +(count++));
	}
	public static void main(String args()) {
		new Test().count();
		new Test().count();
		System.out.println(Test.count);
	}
}

我的答案:
count=9
count=10
11

正确。

题2 有错吗

class Person { 
	private int id;
	private static int total = 0;
	public static int getTotalPerson() {
		id++; 
		return total;
	}
	public Person() {
		total++;
		id = total;
	}
}
public class TestPerson {
	public static void main(String[] args) {
		System.out.println("Number of total is " + Person.getTotalPerson());
		Person p1 =new Person();
		System.out.printIn("Number of total is "+ Person.getTotalPerson());
	}
}

静态方法getTotalPerson不能访问非静态变量
输出:
0
1

正确。

题3 有错吗

class Person { 
	private int id;
	private static int total = 0;
	public static void setTotalPerson(int total){
		this.total = total;
		Person.total = total;
	}
	public Person() {
		total++;
		id = total;
	}
	
public class TestPerson {
	public static void main(Stringl]args){
		Person.setTotalPerson(3);
		new Person();
	}
}

错,静态方法 setTotalPerson 内不可以用 this
total = 4

正确。

你可能感兴趣的:(Java,SE,java)