Android学习之Java基础篇day4

一、成员变量与局部变量区别

1、在类中位置不同

成员变量:类中方法外

局部变量:在方法定义中或方法声明上

2、在内存中位置不同

成员变量:堆内存

局部变量:栈内存

3、生命周期不同

成员变量:随着对象的创建而存在,随着对象的销毁而消失

局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

4、初始值不同

成员变量:有默认初始值

局部变量:没有初始值,必须初始化才能使用

注意:成员变量与局部变量变量名可以相同,采用就近原则


二、匿名对象

1、应用场景:调用方法,仅只能调用一次

2、好处:匿名对象调用完就是垃圾,可以被垃圾回收器回收

3、匿名对象可以做实际参数传递


三、this      代表所在类的一个对象

1、注意:哪个在调用该方法,this就代表那个对象

2、this的应用场景:解决局部变量隐藏成员变量;

public class ThisDemo {
	public static void main(String[] args) {
		Mouse mouse = new Mouse();
		mouse.name="小米渣";
		mouse.jiao();
		
		mouse = new Mouse();
		mouse.name="风车车";
		mouse.jiao();

	}
}

class Cat {
	private String name;

	public Cat(String name) {
		// this代表当前创建构造方法的对象
		this.name = name;
	}

	public void get(Mouse m) {
		// this代表当前调用get方法的对象
		System.out.println(this.name + ":你敢叫,我抓你!!!" + "\n" + m.name + ":你来抓啊!!!");
	}
}

class Mouse {
	String name ;

	public void jiao() {
		// this代表当前调用jiao方法的对象;
		System.out.println(this.name + ":叫两声,咋地!!!");
		Cat cat = new Cat("大洋芋");
		// this代表当前调用jiao方法的对象;
		cat.get(this);

		System.out.println("--------------------");
		cat = new Cat("假老练");
		// this代表当前调用jiao方法的对象;
		cat.get(this);
		System.out.println("--------------------");
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值