package com.lrq;
/**
*
* @author 李瑞琦
* 解决全局变量跟局部变量同名的问题
* 1、在局部变量前加下滑线
* 2、通过this关键字
* 普通方法中,this总是指向调用该方法的对象。
* 构造方法中,this总是指向正要初始化的对象。
* this不能用于static方法。
*
*/
public class TestThis {
public static void main(String[] args) {
Dog dog = new Dog("旺财");
System.out.println(dog.name);
dog.sayHello("八戒");
}
}
class Dog{
String name;
int age;
//空构造器
public Dog(){
System.out.println("我是空构造器");
}
/*
//把局部变量赋值给全局变量的时候如果重名
//1、可在局部变量前面加下划线
//有参构造器
public Dog(String _name){
name= _name;
}
//2、可用this关键字
public Dog(String name){
this.name= name;
}
*/
public Dog(String name){
//调用空构造器,构造器在调用构造器的时候需放在方法的最上边并且只能调用一次
this();
this.name=name;
}
//在普通方法中this总是指向调用该方法的对象
public void sayHello(String name){
System.out.println(this.name+"----"+name);
}
}
this关键字
最新推荐文章于 2024-07-21 23:54:18 发布