zoukankan      html  css  js  c++  java
  • 一个有趣的问题

    //静态变量

    //静态变量与实例变量的区别

    class StaticDemo {

    static int x;//静态变量x

    int y;//实例变量y

    static public int getX(){

    return x;

    }

    static public void setX(int newX){

    x=newX;

    }

    public int getY(){

    return y;

    }

    public void setY(int newY){  //没有分配空间

     y=newY;

    }

    }

    public class ShowDemo{

    public static void main(String[] args){

    System.out.println("静态变量x="+StaticDemo.getX());

    /* 非法,运行出错,why,两种变量类型不一样,

      y是实例变量,无法通过类来输出,y在内存不存在,他们开辟在不同空间

     */

    StaticDemo a =new StaticDemo();

    StaticDemo b =new StaticDemo();

    StaticDemo demo =new StaticDemo();//开辟两块内存空间

    System.out.println("实例变量 y="+demo.getY());//变量初始化

    a.setX(1);//赋值

    a.setY(2);

    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="+a.getX());

    System.out.println("实例变量 b.y="+a.getY());

    }

    }

    x是静态变量,是一个类,而y是实例变量,不能通过类来输出,既然是实例变量,就应该创建类的实例对象。只有静态的方法才能通过类访问,静态方法只能访问静态变量。

  • 相关阅读:
    IT 已成为最疯狂的加班行业,没有之一
    编程和音乐真的很像吗?
    jquery:
    内存管理机制/垃圾回收机制:
    处理跨域:
    创建Djongo需要改url的地方:
    数据库连接池 DBUtils:
    C# 使用 SAP NCO3.0 调用SAP RFC函数接口
    java反射机制的原理与简单使用
    java反射机制的原理与简单使用
  • 原文地址:https://www.cnblogs.com/1995-qxl/p/4887775.html
Copyright © 2011-2022 走看看