day06--成员变量和局部变量的区别

This commit is contained in:
2026-09-21 10:24:09 +08:00
parent b9409d9816
commit 4d05f46ccd
2 changed files with 67 additions and 5 deletions
+32
View File
@@ -0,0 +1,32 @@
package com.inmind.object01;
public class Demo02 {
public static void main(String[] args) {
Student s = new Student();
//对象的属性值的获取
showStudent(s);
//对象的属性值的赋值
s.name = "张三";
s.age = 20;
s.id = 1;
s.score = 8.8;
s.gender = "";
showStudent(s);
Student s1 = new Student();
s1.name = "李四";
showStudent(s1);
System.out.println("-----------");
s.study("java");
s1.study("python");
}
//定义一个将指定学生对象的属性全部展示的功能方法
public static void showStudent(Student s){
System.out.println(s.name);
System.out.println(s.age);
System.out.println(s.id);
System.out.println(s.score);
System.out.println(s.gender);
}
}
+35 -5
View File
@@ -7,16 +7,50 @@ package com.inmind.object01;
1.在java中描述一类事物,由特征(成员变量)和行为(成员方法,不要使用static描述)组成 1.在java中描述一类事物,由特征(成员变量)和行为(成员方法,不要使用static描述)组成
2.在类中,并不是都必须要主方法,如果一个类要运行,并得到一效果,那么就必须要主方法 2.在类中,并不是都必须要主方法,如果一个类要运行,并得到一效果,那么就必须要主方法
在java中,一个类只是用来描述一类事物,就不要主方法 在java中,一个类只是用来描述一类事物,就不要主方法
----------------------------------------------------------------------------
成员变量:处于成员位置的变量
成员位置:类中方法外
局部变量:在方法中定义的变量
注意:在方法中,如果使用了成员变量与局部变量同名的变量,符合就近原则,直接使用的是局部变量
成员变量与局部变量的区别:
1.定义的位置不同
成员变量:类中方法外
局部变量:方法中
2.作用范围不同
成员变量:整个类中都能用
局部变量:只能在定义该变量的方法中
3.处于内存的位置不同
成员变量:在堆内存中
局部变量:在栈内存
4.默认值不同:
成员变量:有默认值的
局部变量:没有默认值
5.生命周期不同
成员变量:随着对象的出现而出现,随着对象的销毁而销毁
局部变量:随着方法的出现而出现,随着方法的销毁而销毁
*/ */
public class Student { public class Student {
//属性 //属性(成员变量)
String name; String name;
int age; int age;
int id; int id;
double score; double score;
String gender; String gender;
public void study(String book) {//book就是一个局部变量
String name = "呵呵哒";//局部变量
//System.out.println(name+"在学"+book);//此处我们希望是展示成员变量name,但是程序采用了局部变量
System.out.println(this.name+"在学"+book);
}
//行为(注意要定义一类事物的行为时,不要加static) //行为(注意要定义一类事物的行为时,不要加static)
public void eat(String food) { public void eat(String food) {
System.out.println(name+"在吃"+food); System.out.println(name+"在吃"+food);
} }
@@ -24,8 +58,4 @@ public class Student {
public void sleep() { public void sleep() {
System.out.println(name+"在睡觉"); System.out.println(name+"在睡觉");
} }
public void study(String book) {
System.out.println(name+"在学"+book);
}
} }