58 lines
1.8 KiB
Java
58 lines
1.8 KiB
Java
package com.inmind.object01;
|
||
/*
|
||
成员变量:处于成员位置的变量
|
||
成员位置:类中方法外
|
||
局部变量:在方法中定义的变量
|
||
|
||
|
||
注意:在方法中,如果使用了成员变量与局部变量同名的变量,符合就近原则,直接使用的是局部变量
|
||
|
||
成员变量与局部变量的区别:
|
||
1.定义的位置不同
|
||
成员变量:类中方法外
|
||
局部变量:方法中
|
||
2.作用范围不同
|
||
成员变量:整个类中都能用
|
||
局部变量:只能在定义该变量的方法中
|
||
3.处于内存的位置不同
|
||
成员变量:在堆内存中
|
||
局部变量:在栈内存
|
||
4.默认值不同:
|
||
成员变量:有默认值的
|
||
局部变量:没有默认值
|
||
5.生命周期不同
|
||
成员变量:随着对象的出现而出现,随着对象的销毁而销毁
|
||
局部变量:随着方法的出现而出现,随着方法的销毁而销毁
|
||
|
||
*/
|
||
public class Phone {
|
||
//品牌
|
||
String brand;
|
||
//价格
|
||
double price;
|
||
//颜色
|
||
String color;
|
||
//尺寸
|
||
double size;
|
||
|
||
|
||
//打电话
|
||
public void call(String number) {//形参就是在方法中定义的一个变量,用来接收实参,所以它也是局部变量
|
||
int test= 100;//局部变量:它是在栈内存中call方法开辟的空间中定义的变量,其他方法无法获取到
|
||
System.out.println("给"+number+"打电话");
|
||
}
|
||
|
||
|
||
//发短信
|
||
public void send(String number) {
|
||
System.out.println("给"+number+"发短信");
|
||
}
|
||
//展示当前手机信息
|
||
public void show(){
|
||
//在方法中定义的变量就是局部变量
|
||
// String brand = "华为";
|
||
System.out.println("一台品牌为"+brand+",颜色为"+color+",价格为"+price+",尺寸为"+size+"的手机");
|
||
}
|
||
|
||
}
|