/*
* 1.创建程序,在其中定义两个类,Person和PersonTest类。定义如下:
* 用setAge()设置人的合法年龄(0~130),用getAge()返回人的年龄。
* 在PersonTest类中实例化Person类的对象b,调用setAge()和getAge()方法,体会Java的封装性
*
* 2.练习2:
* 2.1.在前面定义的Person类中添加构造器,利用构造器设置所有人的age属性初始值都为18.
* 2.2.修改上题中类和构造器,增加name属性,使得每次创建Person对象的同时初始化对象的age属性值和name的属性值
*/
public class Person {
private int age;
private String name;
public Person() {
age = 18;
}
public Person(String n,int a) {
name = n;
age = a;
}
public void setAge(int a) {
if(a < 0 || a > 130) {
// throw new RuntimeException("传入的数据非法!");
System.out.println("传入的数据非法!");
return;
}
age = a;
}
public int getAge() {
return age;
}
//绝对不要这样写!
// public int daAge(int a) {
// age = a;
// return age;
// }
public void setName(String n) {
name = n;
}
public String getName() {
return name;
}
}
/*
* 在PersonTest类中实例化Person类的对象b,
* 调用setAge()和getAge()方法,体会Java的封装性
*
*
*/
public class PersonTest {
public static void main(String[] args) {
Person p1 = new Person();
// p1.age = 1;编译不通过
p1.setAge(12);
System.out.println("年龄为:" + p1.getAge());
// p1.doAge(122);
Person p2 = new Person("Tom",21);
System.out.println("name = " + p2.getName() + ",age = " + p2.getAge());
}
}
public class TriAngle {
private double base;//底边长
private double height;//高
public TriAngle() {
}
public TriAngle(double b,double h) {
base = b;
height = h;
}
public void setBase(double b) {
base = b;
}
public double getBase() {
return base;
}
public void setHeight(double h) {
height = h;
}
public double getHeight() {
return height;
}
}
public class TriAngleTest {
public static void main(String[] args) {
TriAngle t1 = new TriAngle();
t1.setBase(2.0);
t1.setHeight(2.4);
// t1.base = 2.5;//The field TriAngle.base is not visible
// t1.height = 4.3;
System.out.println("base : " + t1.getBase() + ",height : " + t1.getHeight());
TriAngle t2 = new TriAngle(5.1,5.6);
System.out.println("base : " + t2.getBase() + ",height : " + t2.getHeight());
}
}