java_2018_Day7_成员变量和局部变量的区别

class VariableDemo {
    public static void main(String[] args){
        //成员变量和局部变量的区别
        Varialbe v = new Varialbe();
        System.out.println(v.num);
        v.shou();
        //形式参数的问题
        //基本类型调用
        Demo d = new Demo();
        int result = d.sum(10,20);
        System.out.println("result:" + result);
        
        
    }
}
//
class Varialbe {//成员变量和局部变量的区别
/*
    成员变量和局部变量的区别
        在类中的位置不同
            成员变量:类中方法外
            局部变量:方法定义中或方法声明上
        在内存中的位置不同
            成员变量:在堆内存
            局部变量:在栈内存
        声明周期不同
            成员变量:随着对象的创建而存在,随着对象的消失而消失
            局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
        初始值不同
            成员变量:有默认的初始值
            局部变量:没有默认初始化值,必须定义,复制,然后才能使用
        注意事项:
            局部变量和成员变量名称可以一样,在方法中使用的时候,采用就近原则

*/
    int num;                        //成员变量,不定义舒适化值也可以.
    public void shou(){
        int num = 20;            //局部变量,必须定义初始化值.
        System.out.println(num);
    }
}

class Demo {//形式参数的问题
    /*
    形式参数的问题
        基本类型:形式参数的改变不影响实际参数
        引用类型:形式参数的改变直接影响实际参数

*/
    //基本类型
    public int sum(int a,int b){
        return a+b;
    }
    
    //引用类型
    
}

猜你喜欢

转载自www.cnblogs.com/dlbm/p/9295738.html