day06-面向对象-成员变量和局部变量的区别

This commit is contained in:
2026-01-19 10:19:21 +08:00
parent 54e8600789
commit 138e09fba1
2 changed files with 31 additions and 24 deletions

View File

@@ -8,27 +8,17 @@ public class Demo03 {
p1.price = 4999;
p1.size = 5.5;
p1.color = "星空黑";
//展示下对应手机的属性
/*System.out.println(p1.brand);
System.out.println(p1.price);
System.out.println(p1.size);
System.out.println(p1.color);*/
showPhone(p1);
p1.show();
System.out.println("---------");
//买一台土豪金的尺寸6.1价格8999的苹果手机
Phone p2 = new Phone();
p2.brand = "苹果";
p2.price = 8999;
p2.size = 6.1;
p2.color = "土豪金";
//展示下对应手机的属性
/*System.out.println(p2.brand);
System.out.println(p2.price);
System.out.println(p2.size);
System.out.println(p2.color);*/
showPhone(p2);
p2.show();
}
//在非描述类的类中定义方法一般加上static

View File

@@ -1,17 +1,29 @@
package com.inmind.object01;
/*
该类用来描述一个手机类
属性(成员变量)和行为(方法
成员变量:处于成员位置的变量
成员位置:类中方法
局部变量:在方法中定义的变量
品牌
价格
颜色
尺寸
行为:
打电话
发短信
玩app
注意:在方法中,如果使用了成员变量与局部变量同名的变量,符合就近原则,直接使用的是局部变量
成员变量与局部变量的区别:
1.定义的位置不同
成员变量:类中方法外
局部变量:方法中
2.作用范围不同
成员变量:整个类中都能用
局部变量:只能在定义该变量的方法中
3.处于内存的位置不同
成员变量:在堆内存中
局部变量:在栈内存
4.默认值不同:
成员变量:有默认值的
局部变量:没有默认值
5.生命周期不同
成员变量:随着对象的出现而出现,随着对象的销毁而销毁
局部变量:随着方法的出现而出现,随着方法的销毁而销毁
*/
public class Phone {
//品牌
@@ -25,15 +37,20 @@ public class Phone {
//打电话
public void call(String number) {
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+"的手机");
}