zoukankan      html  css  js  c++  java
  • linkin大话面向对象--属性详解

    成员变量和局部变量
    • 成员变量:
        1、在一个类中,任何方法之外定义的变量;
        2、从面向对象的思想来说我们又把实例变量看成一个类的属性。
        3、实例变量在没有符初值时系统会自动帮我们做初始化: 整型数据初始化为 0,布尔型数据初始化为 false,对象类型初始化为 null。    实例变量的作用域在本类中完全有效,当被其他的类调用的时候也可能有效。
    • 局部变量:
        1、在方法内定义的变量叫局部变量。
        2、局部变量使用前必须初始化,系统不会自动给局部变量做初始化。
        3、局部变量的生命范围在他所在的代码块,在重合的作用域范围内不允许两个局部变量命名冲突。注:局部变量与实例变量允许同名,在局部变量的作用域内,其优先级高于实例变量。     我们可以用  this.实例变量名  以区分局部变量。

    </pre><pre name="code" class="java">//成员变量和局部变量的测试
    /**
     *
     * @version 1L
     * @author  LinkinPark 
     * @since   2014-10-24
     * @motto   梦似烟花心似水,同学少年不言情
     * @desc    ^成员变量直的是类范围内定义的变量,局部变量是在方法中定义的变量
     *           系统加载类或者该类的实例的时,自动会为成员变量开空间,然后指定默认的初始化值
     *           但是局部变量定义后,必须经过显式初始化后才能使用,系统不会执行默认的初始化
     */
    public class Test07 {
        static int a;
        int c=2;
        
        /**
         * @desc  ^java允许对象来访问类成员,但是聪明的开发者应该绕开这个陷阱,类成员还是使用类作为主调好点
         * @param args
         */
        public static void main(String[] args) {
            int b;
            b = 5;
            //a是成员变量,默认会有初始值
            System.out.println(a);
            //b是局部变量,不赋值的话不能直接访问
            System.out.println(b);
            new Test07().test();
        }
        
        //局部变量覆盖成员变量,要是想访问成员变量的话,可以使用this作为主调
        //虽然编程允许,但是尽量避免这种局部变量和成员变量重名的情况
        public void test(){
            int c = 1;
            System.out.println(c);//1
            System.out.println(this.c);//2
            {
                String huhu = "代码块中的变量";
                System.out.println(huhu);
            }
            //huhu是在上面的代码块中定义的变量,脱离了代码块不能再次被访问到
            //System.out.println(huhu);
        }
        
        
    
    }
    

    以下图片反应了类变量和实例变量的不同:



        
  • 相关阅读:
    Java Swing 空布局
    Java Swing 盒布局管理器
    遇到的JDBC的一些简单错误
    JVM内存调整
    jeesite中重启项目时用户头像丢失的疑惑
    Java服务突然失败:A fatal error has been detected by the Java Runtime Environment的总结
    从官网下载历史版本的java
    容器未来会怎么发展?容器安全怎么样?容器使用效果如何?
    What's The Next|Kube-OVN 社区线上 Meetup 预告!
    灵雀云发布云原生制品仓库Harbor企业版(Alauda Registry Service for Harbor)
  • 原文地址:https://www.cnblogs.com/LinkinPark/p/5233170.html
Copyright © 2011-2022 走看看