Java:构造一个Person类,运用方法重载

本文深入探讨Java中对象的创建过程,详细解析构造方法的使用及重载,展示如何通过不同构造方法创建具有特定属性的对象,并介绍了成员变量、方法以及对象间引用的概念。
public class Person{
	String name;        //字符串 名字
	int age;           //int 年龄
	private String secret="...";    //字符串 秘密
	int height;     //  int 体重
	
	//构造方法1
	public Person(){} //可以创建一个空的对象,不提供参数
	public Person(String name,int age, String secret){
		this.name=name;   //现在的=你赋值的
		this.age=age;
		this.secret=secret;
	}
	
	//构造方法1的重载 ,为了创建出不同属性信息的对象
	public Person(String name,int age,int height){
		this.name=name;   
		this.age=age;
		this.height=height;
	}
	
	//构造方法1的重载  四个属性,有三个属性之前已经构造了
	public Person(String name,int age, String secret,int height){
		this(name,age,height);    //在上面已经创建过可以写为this()
		this.secret=secret;	
	}
	
	
	
	//构造方达2
	//可以外部访问的属性:get+属性名称
	String getSecret(){
		return secret;
	}
	String getName(){
		return name;
	}
	int getAge(){
		return age;
	}
	//可以外部修改定义的属性     set+属性名称
	void setName(String name){
		this.name=name;
	}
	void setAge(int age){
		this.age=age;
	}
	void setSecret(String secret){
		this.secret=secret;
	}
	
	
String personInFo(){
		return "这个人是"+name+",年龄是"+age+"岁,她的秘密是:"+secret;
	}		
	

	//创建一个具体对象
	public static void main(String[] args){
		Person person1=new Person();
		person1.name="张三";
		person1.age=20;
		person1.secret="没有秘密";
		
		Person person2=new Person("李四",19,"也没有秘密");
		
		Person person3=new Person("王五",18,"同样没有秘密");
		
		//person4的值由person3的地址对应的内容给定,修改person4,相当于修改了person3的内容
		//引用传递,在同一块地址
		Person person4=person3; 
		person4.name="幂";
		
		Person person5=new Person("迪丽",18,50);
		
		//person变量引用指向空
		//堆上的person3对象已经没有变量使用它
		//但是person3依旧存在,还是占用空间,不做内存回收,由虚拟机自动回收。
		//person3=null;
		//person4=null;

		System.out.println(person1.personInFo());
		System.out.println(person2.personInFo());
		System.out.println("我的名字是:"+person3.name+",曾经我只有"+person3.age+"岁。");
		System.out.println(person4.personInFo());
		System.out.println(person5.personInFo());
		
		//创建一个匿名对象
		new Person("匿名对象",18,"使用一次就丢弃");
		System.out.println(new Person("匿名对象",18,"使用一次就丢弃").personInFo());
		
	}	
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值