先上源码
封装类
package cn.sxt.oo2;
/**
 * 测试封装
 * @author Mr.Z
 *
 */
public class TestFengZhuang4 {
	private int id;
	private String name;
	private int age;
	private boolean man;
	
	public void setName(String name) {
		this.name =name;
	}
	public String getName() {
		return this.name;
	}
	
	
	public void setAge(int age) {this.age=age;
		if (age>=1&&age<=130) {
			this.age=age;
			System.out.println("这是儿童。");
		}else {
			System.out.println("输入正确的年龄。");
		}
	}
	public int getAge() {
		return this.age;
		
	}
}
这是调用的
package cn.sxt.oo2;
/**
 * 测试封装
 * @author Administrator
 *
 */
public class TestFengZhuang {
	public static void main(String[]args) {
		Human1 h=new Human1();
//		h.age =13;			//仅Human类可使用
//		h.name="QQ";
		h.name="QQ";
		h.height=170;
		
		TestFengZhuang4 f4=new TestFengZhuang4();
//		f4.age=10;
//		f4.setAge(10);
		f4.setAge(-13);
		System.out.println(f4.getAge());
	}
}
class boy extends Human1 {
	void syaHello() {
//		System.out.printlm(age);  //子类无法使用父类的私有属性和方法
	}
}
当我把f4.setAge(10);注释掉的时候输出结果

当我把f4.setAge(-14);注释掉输出就没错

为什么不是想老师 那样输出0?