代码之家  ›  专栏  ›  技术社区  ›  Luke Thistlethwaite

在java中,对象是否被视为变量?

  •  1
  • Luke Thistlethwaite  · 技术社区  · 9 年前

    我正在研究的一个来源将数组定义为“一个名称下的变量集合,其中变量通过索引号访问。”

    但后来我意识到,可以有一个对象数组(或者至少有一个指向对象的指针数组)。

    既然我相信一个物体符合这个定义,那么一个物体被认为是一个变量吗?

    4 回复  |  直到 9 年前
        1
  •  2
  •   Louis Wasserman    9 年前

    将数组称为“变量集合”可以说已经扩展了定义。但数组当然是一组引用,可以指向内存中的不同对象,每个这样的引用都可以合理地称为变量。

    首先,问“对象是变量吗”有点奇怪。在里面 Object o = new Object() , o

    老实说,“变量”是一个非常灵活、定义不清的术语——字段是变量吗?方法的返回结果?这取决于谁在说话,以及他们今天使用的模糊定义。

        2
  •  1
  •   davidxxx    9 年前

    对象是否被视为变量?

    不,这是两件截然不同的事情。

    例如,当你写:

    new Dog()
    

    您实例化了一个 Dog 美好的但是如果它饿了,假设你想喂它。
    如果你没有办法在这个对象上链接一系列方法,你就不能。

    通过存储 狗 dog 变量您可以这样做:

    Dog dog = new Dog();
    if (dog.isHungry()){
       dog.feed();
    }
    

    可以包含数据值。“

    它说的是同一件事。

    我正在研究的一个来源将数组定义为“一个 一个名称下的变量,其中变量通过索引访问

    这相当令人误解。
    数组是具有状态的对象,其中包含数组的元素。
    引用元素的方式是数组类的实现细节,我不会确认每个元素都存储在特定的变量中。

        3
  •  0
  •   msanford    9 年前

    new .

    例如:

    Object a = new Object();
    

    a 将是创建的新对象的变量,并将转到该对象的保留内存。您正在实例化该新变量,并且该变量与该对象相关联。

        4
  •  -1
  •   Akshay jain    9 年前
    Hope might this will help you to understand it better...
    
    class Bulb
        {
        private int w;
        public void setWattage(int e)
        {
        w=e;
        }
        public int getWattage()
        {
        return w;
        }
        }
        class Test
        {
        public static void main(String args[])
        {
        Bulb b[];
        b=new Bulb[2];
        b[0]=new Bulb();
        b[1]=new Bulb();
        b[0].setWattage(60);
        b[1].setWattage(100);
        System.out.println(b[0].getWattage());
        }
        }
    

    这里b[0]和b[1]是具有两个灯泡对象地址的参考变量