zoukankan      html  css  js  c++  java
  • 成员变量和局部变量的区别

    在实体类中只有属性方法

    区别一:定义的位置

        首先在定义类中的变量是成员变量

                   定义方法种的是局部变量

    区别二:在内存中的位置不同

        成员变量存储在堆内存的对象中

        局部变量存储在栈内存的方法中

    区别三:生命周期不同(什么时候创建,什么时候销毁!)

        成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失(gc垃圾回收机制)

        局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失

    区别四:初始化不同

        成员变量因为在堆内存中,所有默认的初始化值

        局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。

    例子:

    局部变量:存在某个方法中的变量就叫局部变量,局部变量一旦声明就必须赋值 否则不能使用

    class Person
    {
        String name;
        char sex;
        int age;
        public void eat(){
            int num = 10;//不进行赋值是在方法体内不能用的  编译的时候就会报错 尚未初始化变量
            System.out.println(num+"吃");
        }
        public void sleep(){
            System.out.println("睡觉");
        }
    }
    

      

    成员变量

    存在某个类中的并且类方法外就叫成员变量。成员变量可以在类中的任何地方访问

    局部变量和成员变量的名字可以重名  采用就近原则

    class Person
    {
        String name;
        char sex;
        int age;
        public void eat(){
            int num = 10;//不进行赋值是在方法体内不能用的
            System.out.println(num+"吃");//如果这个地方使用时跟成员变量重名时  使用就近原则 此时num的值是10
        }
        public void sleep(){
            System.out.println("睡觉");
        }
    }
     
    

      

  • 相关阅读:
    JSP/Servlet相关
    mysql 相关问题解决
    Git常用
    利用JDBC连接MySQL并使用MySQL
    memcache、redis原理对比
    Python 2.7.x 和 3.x 版本的重要区别
    python 单例模式
    python 装饰器原理及用法
    python 冒泡排序
    python 迭代器和生成器
  • 原文地址:https://www.cnblogs.com/awdsjk/p/10910550.html
Copyright © 2011-2022 走看看