/*成员的变量和局部变量的区别*/
A:在类中的位置的不同
成员变量:在类中方法外
局部变量:在方法定义中或着方法声明上
B:在内存中的位置不同
成员变量:在堆内存
局部变量:在栈内存
C:生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
D:初始化值不同:
成员变量:有默认初始化值
局部变量:没有初始化值,必须定义,赋值,然后才可以使用
注意事项:
局部变量名称可以和成员变量的名称一样,在方法中使用的时候,采用的是就近原则
class Li{
// 成员变量
int num =10;
int num ;//输出结果:0
public void show() {
//局部变量
int num2 = 20
int num2;//输出结果为:错误可能没有初始化变量
//原因:局部变量要初始化值
}
}
//形式参数的问题
基本类型:形式参数的改变不影响实际参数的改变
引用类型:形式参数的改变直接影响实际参数
//形式参数是基本类型
class LiDome{
public int sum(int a,int b){
return a+b;
}
}
class Li{
public static void main(String[] args){
//形式参数是基本类型的调用
Dome d =new Dome();
int result = d.sum(10,20);
System.out.println(result);
}
}
//形式参数是引用类型
class Student{
public void show(){
System.out.println("我爱学习");
}
}
class StudentDome{
//如果看到了一个方法的形式参数是一个类类型(引用类型)
//因为类不可引用,所以这里其实需要的是该类的对象
public void method(Student s){//调用的时候,把main方法中s的地址传递到这里 Student s = new Student;
s.show();
}
}
class Argtest{
public static void main(String[] args){
//形式参数的引用类型的调用
//需求:我要调用Studentdome类中的method()方法
StudentDome sd = new StudentDome();
//创建学生对象
Student s = new Student();
sd.method(s);//把s的地址给到这里
}
}
Java成员变量与局部变量的区别,代码举例
最新推荐文章于 2024-08-23 15:54:50 发布