this关键字

package com.shsxt.this02;
/*

  • this关键字 :代表当前对象

  • this在构造器的首行调用其他构造器(本类中的其他构思器)

  •  this(参数)->匹配不同的构造器的参数
    
  • 区分同名变量问题(成员变量与局部变量,参数之间同名问题)

  •  this使用在构造器中,指代当前创建的对象
    
  •  this使用在成员方法中,this指代当前调用成员方法的对象
    
  •  默认发生就近原则
    
  • 不存在同名变量|参数问题,变量就是指代成员,前面默认省略this.

  • 1.调用构造器的时候this必须存在第一行才行

  • 2.构造器之间不能相互调用

  • 3.this不能使用在static修饰的内容中
    */
    public class ThisDemo {
    public static void main(String[] args) {
    Person p=new Person(“张三”,18,true);
    p.info();
    Person p2=new Person(“lisi”);
    Person p3=new Person(“王五”);
    p2.info();
    p3.info();

    p.test(222);
    p2.test(111);
    

    }
    }

class Person{
public String name;
public int age;
public boolean gender; //true->女 false->男

public Person() {
	// TODO Auto-generated constructor stub
}

public Person(String name) {
	this.name=name;
}
//给人的姓名,年龄赋值
public Person(String name,int age) {
	//this("",100,false);
	this.name=name;
	this.age=age;
	System.out.println("2个参数的构造器");
}

public Person(String name,int age,boolean gender) {
	//上一个构造器就是给name,age赋值的
	//选中当前行上下移动->alt+方向上下键
	this(name,age); //调用其他构造器,本类  如果实参位置是变量,传递的就是变量的值
	this.gender=gender;
	System.out.println("三个参数的构造器");
}

//打印所有成员属性的值
public void info(){
	System.out.println(name+"-->"+age+"-->"+gender);
}

public void test(int age){
	//boolean gender=true;
	System.out.println(this.age+","+gender);  //默认就近原则
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值