• Java——静态变量/方法与实例变量/方法的区别


    静态只能调用静态

    非静态: 对象名.方法名

    package ti;
    
    //通过两个类 StaticDemo、LX4_1 说明静态变量/方法与实例变量/方法的区别。
    
    class StaticDemo {
        static int x;
        int y;
        public static int getX() {
            return x;//静态方法中可以访问静态数据成员x
        }
        public static void setX(int newX) {
            x = newX;
        }
        public int getY() {//int 前加static试试(静态方法中不可以访问非静态数据成员y)
            return y;// 非静态方法中可以访问非静态数据成员y
        }
        public void setY(int newY) {//试试增加 x=20; 非静态方法中可以访问静态数据成员x
            y = newY;
        }
    }
    
    public class t2 {
        public static void main(String[] args) { 
            System.out.println("静态变量 x="+StaticDemo.getX());
        //System.out.println("实例变量 y="+StaticDemo.getY());//非法,编译将出错
            StaticDemo a= new StaticDemo(); 
            StaticDemo b= new StaticDemo();
            a.setX(1);
            a.setY(8);
            b.setX(3);   //静态调用最终值
            b.setY(4);
            System.out.println("静态变量 a.x="+a.getX());
            System.out.println("实例变量 a.y="+a.getY()); 
            System.out.println("静态变量 b.x="+b.getX()); 
            System.out.println("实例变量 b.y="+b.getY());
        }
    }

    打印结果:

    静态变量 x=0
    静态变量 a.x=3
    实例变量 a.y=8
    静态变量 b.x=3
    实例变量 b.y=4

  • 相关阅读:
    2014--My Plan
    C++操作xls
    fail2ban[防止linux服务器被暴力破解]
    8.1向上转型
    寒假的一个月--实现自己的五部狂奏曲
    浅谈《think in java》:二 一切都是对象
    浅谈《think in java》:一 对象导论总结
    增加Myecllipse内存
    java 容器 集合 用法
    SVN用户切换
  • 原文地址:https://www.cnblogs.com/wwwwwei/p/9872035.html
Copyright © 2020-2023  润新知