构造方法与this

  • 构造方法

特点:与类名相同、没有返回值、有一个系统默认生成的无参构造方法,可进行重载

public class Test {

	public Test() {//没有返回值、没有void,名字与类相同
		
	}
}

构造方法的过程:

Test t=new Test();//表示有一个Test类型的变量t,new Test表示创建一个对象,将此对象存入t中。

此时,有一个栈内存t被开辟成功,new Test()调用构造方法时,在堆内存中开辟了一个内存b,将b存入t中,而b中的值为Test的第一个属性,b+1中存储下一个属性,以此类推。

创建匿名对象:

new Test();//没有变量接收、只能用一次,因为每new一次就创建一个对象

构造方法的重载:3种类型。参数个数不同、参数类型不同、参数类型顺序不同。

public class Test {

	int age;
	String name;
	public Test() {
		
	}
	public Test(int a) {
			age=a;
		}
	public Test(String s) {
			name=s;
		}
	public Test(int a,String s) {
			age=a;
			name=s;
		}
	public Test(String s,int a) {	
			name=s;//与上一个输出结果一样,但参数顺序不同。
			age=a;
		}
}
  • this

用法:

表示当前对象(在哪个类就是哪个类的对象): this可以在非静态方法中直接使用,但是在静态方法中不能使用this

调用构造方法:只能在构造方法内部的第一行。且调用其它构造方法时不能方法一调用方法二,二调用三,三调用一,如此形成回路,会造成死循环。

调用属性:当参数与属性名字相同时,可以用this区分。如this.name=name;

总结:

无参构造方法被重写时,即便又写了一个有参的构造方法原来系统的构造方法已经不存在了。除非再写一个无参构造方法。

每new一次,就创建一个对象。

this可以被看作一个可以调用构造方法的对象(对象不能调用构造方法)。  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值