Java 构造方法&封装

封装    保证程序安全性 ,使内部属性不被直接操作,还可以通过set方法设置属性的区间,保证数据的合法性。

package stage1;

//ctrl o 查看类中元素&方法
//可以鼠标右键	Source(Atl Shfit s)	generate getters and setters 生成set和get 方法
//可以鼠标邮件生成构造方法	generate constructor using fields
public class User {
	private String name;
	private int age;
	private String addr;
	private int tel;
	private boolean sex;
	/**
	 * 	建议手动写出无参构造方法
	 */
	public User() {
		System.out.println("调用User无参构造函数输出");
	}
	/**
	 *	 构造方法可以重载
	 */
	public User(int a) {
		System.out.println("调用User有参构造函数输出");
	}
	/**
	 * 	构造方法作用二,创建对象的同时初始化对象的内存空间
	 */
	public User(String name,int age,String addr,int tel,boolean sex) {
		this.name=name;
		this.age=age;
		this.addr=addr;
		this.tel=tel;
		this.sex=sex;
		System.out.println("创建对象的同时初始化对象的内存空间");
	}
	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}
	/**
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}
	/**
	 * @return the age
	 */
	public int getAge() {
		return age;
	}
	/**
	 * @param age the age to set
	 */
	public void setAge(int age) {
		if(age<0||age>200) {
			System.out.println("age number error");
			return;
		}
		this.age = age;
	}
	/**
	 * @return the addr
	 */
	public String getAddr() {
		return addr;
	}
	/**
	 * @param addr the addr to set
	 */
	public void setAddr(String addr) {
		this.addr = addr;
	}
	/**
	 * @return the tel
	 */
	public int getTel() {
		return tel;
	}
	/**
	 * @param tel the tel to set
	 */
	public void setTel(int tel) {
		this.tel = tel;
	}
	/**
	 * @return the sex
	 */
	public boolean isSex() {
		return sex;
	}
	/**
	 * @param sex the sex to set
	 */
	public void setSex(boolean sex) {
		this.sex = sex;
	}
}
package stage1;

//构造方法
//多行注释:CTRL shift /
/**
 * 	采用这种注释方法会在类名中显示该注释(鼠标停在第34行Day006上)
 * 	构造方法作用:
 * 	通过构造方法的调用,可以创建对象
 * 	创建对象的同时初始化对象的内存空间
 */
public class Day006 {
/*	构造方法
 * 	构造方法结构:
 * 	{修饰符列表}	构造方法体名	(参数列表)	{
 * 		构造方法体;
 * 	}
 * 	不需要指定返回值类型
 * 	不需要返回值类型
 * 	构造方法的方法名与当前方法类名一致
 * 	构造方法的作用:
 * 		*通过构造方法的调用,可以创建对象
 * 		*创建对象的同时初始化对象信息
 * 	构造方法这么调用:
 * 		new 构造方法名(实参列表)
 * 		有返回值		eg:new User()
 * 		返回值类型就是类本身。
 * 	当一个类中没有定义构造方法,系统默认为该类提供一个无参的构造方法
 * 	当一个类定义了构造方法,则系统不再提供默认的构造方法
 * 	建议手动构建无参构造方法
 * 	构建方法调用一定会在堆内存中创建对象
 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Day006 dy=new Day006();
		dy.doSome();
		System.out.println("hello:");
		//返回值类型为User
		//User()为构造方法方法名
		User s=new User();//调用构造函数	
		new User(1);
		s.setName("吴迪");
		System.out.println(s.getName());
		
		//可以利用alt shift a(window正下方的块编辑进行批量改)
		User s1=new User("mzy",20,"china",110,false);
		System.out.println(s1.getName());
		System.out.println(s1.getAge());
		System.out.println(s1.getAddr());
		System.out.println(s1.getTel());
		System.out.println(s1.isSex());
		
	}
	public void doSome() {
		System.out.println("doSome");
	}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值