构造器的基本理解

/*
 * 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());
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值