构造方法

构造方法:

  • 调用的时候构成:类名 + ()
  • 定义时候的基本构成:
  • 修饰词 方法名(参数列表){
    方法体
    }
  • 注意点:1.没有返回值这一项 2.方法名必须与类名保持一致
  • 构造方法的作用:对对象的属性进行初始化,如果我们自己不创建,系统会调用默认的构造方法
  • 自己创建的构造方法分类:
  1. 无参的构造方法:与系统默认的构造方法一致,会将成员变量赋值成null或0或false等
  2. 有参的构造方法:会将成员变量先进性初始化,再完成赋值(通过参数传入的值)
  • 总结构造方法的注意点:
  1. 一旦创建了自己的构造方法,就不会再去调用系统默认的构造方法
  2. 多个构造方法之间是重载的关系
  • this:是一个关键字,是一种引用数据类型,保存的是当前对象的地址,代表的是当前的对象
  • this的功能总结:
  1. 可以用于区分成员变量和局部变量
  2. 可以在构造方法中调用其他的重载的构造方法,提高代码的复用性,简化了代码
  • 使用this的注意点:
  1. 在作为方法使用的时候,只能用于构造方法
  2. 不能自己调用自己,造成死循环
  3. 不能互相调用,一会造成死循环
  4. 在构造方法中,调用其他重载的构造方法,这行代码必须方法第一行
  5. 在静态方法中不能使用this
public class Demo4 {
	public static void main(String[] args) {
		//创建Student类型的对象---后面是一个空参的构造方法,这是系统默认创建的构造方法
		Student student = new Student();
		student.name = "zhangsan";
		
		//通过有参的构造方法创建对象
		Student student1 = new Student("bingbing");
		System.out.println(student1.name);
		
		//通过三个参数的构造方法创建对象
		Student student2 = new Student("bingbing",40,120);
		System.out.println(student2.height);
	}
}

class Student{
	String name;
	int age;
	int height;
	
	//创建构造方法
	//无参的构造方法
	//一旦我们自己创建了构造方法,默认的构造方法就会被覆盖,不能发挥作用
	public Student() {
		System.out.println("无参的构造方法");
		
		
	}
	
	//有参的构造方法
	//可以做到对属性进行初始化之后马上完成赋值
	//一般要求构造方法的参数名字与对应的属性的名字一致
	//这里当成员变量与局部变量一致时,方法中识别的是局部变量,依据的是就近原则
	//就近原则是从内存的角度考虑远近
	public Student(String name) {
		this.name = name;//完成对属性的赋值
		System.out.println("有参的构造方法");
	}
	public Student(String name,int age) {
		//this.name = name;//完成对属性的赋值
		this(name);//这里是在调用有一个参数的构造方法
		this.age = age;
	}
	public Student(String name,int age,int height) {
		this(name,age);//这里是在调用有两个参数的构造方法
/*		this.name = name;//完成对属性的赋值
		this.age = age;*/
		this.height = height;
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值