zoukankan      html  css  js  c++  java
  • 在实例中说明java的类变量,成员变量和局部变量

    java中一般有三种变量:类变量,成员变量和局部变量。类变量

    1.下面先看类变量,看下面这个例子

    public class Demo6{
        public String name;
        public int age;
        public static String sex="男";
    
        public Demo6(String name, int age){
            this.name = name;
            this.age = age;;
        }
    
        public void say(){
            System.out.println("我的名字是"+name+",我今年"+age+"岁.");
        }
    
        public static void main(String args[]){
            Demo6 obj = new Demo6("alex",25);
            obj.say();
            System.out.println("我是"+sex+"生");
    //        System.out.println("我今年"+age+"岁");
        }
    }
    

    类变量可以无需实例化便可访问(ps:如果一个实例改掉了类变量的值,其他实例调用此类变量值时也是改动后的)

    如果去掉注释

    System.out.println("我今年"+age+"岁");

    ,则会报错:Error:(19, 34) java: /Users/lsf/IdeaProjects/JavaPractice/src/Demo6.java:19: 无法从静态上下文中引用非静态 变量 age  

    2.接下来来看成员变量和局部变量,还是看这个例子,做一点小改动

    public class Demo6{
        public String name;
        public int age;
        public static String sex="男";
    
        public Demo6(String name1, int age){
            this.name = name1;
            this.age = age;;
        }
    
        public void say(){
            System.out.println("我的名字是"+name+",我今年"+age+"岁.");
    //        System.out.println("我的名字是"+name1+",我今年"+age+"岁.");
        }
    
        public static void main(String args[]){
            Demo6 obj = new Demo6("alex",25);
            obj.say();
            System.out.println("我是"+sex+"生");
        }
    }
    

      当执行下面这句时结果是正确的:

    System.out.println("我的名字是"+name+",我今年"+age+"岁.");

    这是因为name是成员变量,在整个实例中有效。而name1是局部变量,只在方法体内有效,如果像下面这样直接调用name1,则会报错

    System.out.println("我的名字是"+name1+",我今年"+age+"岁.");

    报错信息为:

    Error:(13, 36) java:找不到符号
    符号: 变量 name1
    位置: 类 Demo6

  • 相关阅读:
    词法分析程序
    关于编译原理
    超神c语言文法
    linux基本命令
    用bat来注册ocx
    当web配置文件 appSettings配置的东西越来越多时,可以拆开了。
    MVC的URL路由规则
    ASP.NET MVC 中如何实现基于角色的权限控制
    查cc攻击
    关于session介绍
  • 原文地址:https://www.cnblogs.com/alexkn/p/java.html
Copyright © 2011-2022 走看看