精华内容
下载资源
问答
  • java中引用类型的变量和对象的区别

    千次阅读 2017-05-23 09:07:20
    java中引用类型的变量和对象的区别
    对象:是按照“类”这个模板建立的,建立的位置则是内存
    例如:A是一个类。A a则是创建一个引用变量,a=NEW A()则是在内存中建立一个对象(开辟了1片空间)
    ,对象的模板就是A(可以理解为在空间里复制了A类里的变量到空间里去)。此时就可以使用引用变量a
    去引用对象中的变量了。
    展开全文
  • 区别在于:类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;例:class A{static int...

    类变量也叫静态变量,也就是在变量前加了static 的变量;

    实例变量也叫对象变量,即没加static 的变量;

    区别在于:

    类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;

    例:

    class A{

    static  int a = 0; //类变量

    public int b = 0; //实例变量

    }

    public class Test{

    public static void main (String[] args){

    A a1 = new A();

    A a2 = new A();

    a1.a = 3;  // 等同于 A.a = 3;

    a1.b = 4 ;

    System.out.println(a2.a); //结果为3

    //类变量是针对所有对象的,所以a1改变a,a2的a也改变

    System.out.println(a2.b); //结果为0

    //实例只改变自身的,所以a1对象的b改变,不影响对象a2的b变量

    }

    }

    posted on 2012-10-28 21:52 天鹰之翼 阅读(120) 评论(0)  编辑  收藏

    展开全文
  • 两者区别在于:类变量(静态变量)是所有对象共有,其中一个对象将它值改变,其他对象得到就是改变后结果,并且类变量是可以直接通过类名来调用 如:A.xingS;而实例变量则属对象私有,某一个对象将其值改变,...

    cf6342bfcfd6137133dfb45b51f6f8a2.png

    类变量也叫静态变量,也就是在变量前加了static 的变量;

    实例变量也叫对象变量,即没加static 的变量;

    两者区别在于:

    类变量(静态变量)是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果,并且类变量是可以直接通过类名来调用的 如:A.xingS;

    而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象,实例变量顾名思义是属于实例的,所以只能通过实例来调用 如:A a=new A(); a.name;

    举个不太恰当的例子:类变量就好比一个人的姓氏,实例变量就相当于人的名字,如果它父亲把姓改了,那它所有的兄弟姐妹姓都得改,但是它们的名字还是各用各的。

    例:

    7b7fd16f94e76e482ebfb4a4a5b4d594.png

    类变量又叫静态成员变量,它不需要创建对象就可以已经在内存中存在了,而在创建实例对象的时候,

    内存中会为每一个实例对象的每一个非静态成员变量开辟一段内存空间,用来存储这个对象所有的非静态成员变量值。

    即使两个不同的实例对象是属于同一个class类,但是它们的同名非静态成员变量在内存中占用的空间是不同的,

    而静态成员变量也就是类变量相同。所有的实例对象都共用一个类变量,内存中只有一处空间是放这个类变量值的。

    因此,如果一个对象把类变量值改了,另外一个对象再取类变量值就是改过之后的了。

    6089b41b701687aaaf362a51be75b1e0.png
    展开全文
  • 是不是可以理解为,没有开辟内存空间都是变量,开辟了内存空间的对象
  • 变量只是一种类型,对象是类型操作集合,也叫封装 变量是一个能存放数据容器,仅仅如此,而对象是包含属性、方法,是某一个类实例化产物 对象是类实例,类中封装了变量以及对变量进行操作方法,对象...
    • 变量只是一种类型,对象是类型和操作的集合,也叫封装
    • 变量是一个能存放数据的容器,仅仅如此,而对象是包含属性、方法的,是某一个类实例化的产物
    • 对象是类的实例,类中封装了变量以及对变量进行操作的方法,对象可以利用其中的方法操作变量

    对象和变量这两个概念莫要搞乱,颈是颈,椎是椎,虽然两者都对应着一块内存,但是从不同的角度去理解内存就会产生不同的意义。

    变量:所谓变量就是一种定义,通过定义编译器将会开辟一段空间,并将这段内存空间和这个变量的名字捆绑在一起。从这个意思去理解,其实说白了:变量名就是内存在代码中可视化的一个符号。也就是说,如int a,a只是内存中某段地址在代码中可视化的一个符号,a本身作为符号并不占用空间,占用空间的是a所对应着的那个变量,通过a这个符号我们可以引用到该变量在内存中的位置。就好比是人和名字的关系,人作为一个真真正正的实体,是占用地球的物理空间的,是一个真实的存在,而这个人的名字只是代表了这个人的一个符号,本身并没有占用地球的物理空间,只是在他妈把他生下来的时候,把人这个实体和名字捆绑在了一起,因此,我们引用这个人的名字的时候,就等于我们找到了这个人。
    对象:对象就是内存中一段有类型的区域。从这句话的描述上来看,对象至于变量,似乎更关注的是这对内存的类型,而不是名字。不能说变量就是对象,或者对象就是变量,严格来说,对象就是用来描述变量的。一点佐证是,C++中的临时变量的概念,如传参时生成的临时变量,该变量在内存中存在,但是是没有名字的,因此在代码中无法可视化,我们就无法通过名字去引用这个临时变量。

    两者的区别与联系
    从上面的两个描述中我们可以看到,两者都是用来描述一段内存的,但是是从不同的角度去描述:

    变量更强调的是变量名这个符号的含义,更强调名字与内存的联系,而不必关注这段内存是什么类型,有多少字节长度,只关注这个变量名a对应着某段内存。
    而对象的描述更强调的是内存的类型而不在乎名字,也就是说,从对象的角度去看内存,就需要清楚这段内存的字节长度等信息,而不关注这个对象在代码中是否有一个变量名来引用到这段内存。

    举例:
    int a;
    如果我们说a是个变量,那我们关注的只是a这个名字对应着一块内存,当我们引用a时,我们能明确的知道我们引用的是a这个名字所对应的内存空间,而不是别的,也不去关注这个a的内存是个int啊char啊之类的什么类型。如果我们说a是个对象,则我们需要知道这个对象具体是什么类型,当我们引用并操作a的时候,就能根据类型信息做一些符合类型语义的操作,而不是暴力访问内存,任意解析内存中的数据

    展开全文
  • 通过一个案例,知道为什么,对象里面东西是会随着后续赋值而改变.while(rs.next()) { Book book=new Book(); book.setId(rs.getInt(1)); book.setName(rs.getString(2)); book.setAuthor(rs.getString(3))...
  • 对象和变量的区别

    千次阅读 2019-11-24 14:57:47
    对象和变量的区别 假如你叫张三,“变量对象的区别就是“张三”“你”的区别 再比如: Var st = [40,25]; 上述的完整版是: Var st =new Array(); St[...
  • VO:Variable Object简写,就是变量对象。 AO:Activation Object简写,叫做活动对象。 VO(变量对象)包含:函数形参(arguments)、函数声明(FunctionDeclaration, FD)、变量声明(VariableDeclaration,...
  • 一、成员变量和局部变量区别 在类中位置不同 重点 成员变量:类中,方法外 局部变量:方法中或者方法声明上(形式参数) 从上面图,就可以看出 作用范围不一样 重点 成员变量:类中  局部变量:方法中 ...
  • 面向对象成员变量和局部变量的区别 * A:在类中的位置不同 * 成员变量:在类中方法外 * 局部变量:在方法定义中或者方法中声明上 * B:在内存中的位置不同 * 成员变量:在堆内存(成员变量属于对象,对象进堆内存) ...
  • 类对象是将具有相似属性方法的对象总结抽象为类对象,可以定义相似的一些属性方法,不同的实例对象去引用类对象的属性方法,能减少代码的重复率。 实例对象又称实例化对象,不是抽象而是一类对象中具体的一例...
  • 一、C语言中对象(object)的概念 注意,这里的对象可不是面向对象概念的对象...《C++变量和对象的区别联系》 参考书籍: 《品悟C -- 抛弃C程序设计中的谬误与恶习》 《标准C语言指南》 Class A size=8 align=...
  • 文章目录类的理解对象的理解如何定义类如何创建对象如何访问对象的成员和方法成员变量和局部变量 类的理解 类是用来定义或者描述现实事物的。 类是抽象的 类可以理解为一个模板,是属性和行为的集合 类是Java当中最...
  • /* 成员变量与局部变量的区别: 1.位置的区别: 成员变量是定义在方法之外,类之内的变量。 局部变量是定义在方法之内的... 成员变量的生命周期是随着对象的创建而创建,随着对象的消失而消失。 局部...
  • 所属不同: 静态变量属于类,所以也称之为类变量 成员变量属于对象,所以...成员变量随着对象的创建而存在,随着对象的消失而消失 调用不同: 静态变量可以通过类名调用,也可以通过对象调用 成员变量只能通过对象名调用
  • 成员变量和局部变量的区别? A:在类中位置不同 成员变量:在类中方法外。 局部变量:在方法定义中或者方法声明上。 B:在内存中位置不同 成员变量:在堆内存 局部变量:在栈内存 C:生命周期不同 成员变量:随着对象...
  • 问的多的还有new对象问题。这里也说明下吧。没刚才的帖子一起发,也是为了把安装环境语言特性分开。 问题:下面哪个定义的是...构造器是实例化对象的状态的。一个对象应该至少有3个特征: 行为,状态、标识等。
  • C++之对象和变量的区别

    千次阅读 2018-12-11 16:09:43
    对象和变量这两个概念莫要搞乱,颈是颈,椎是椎,虽然两者都对应着一块内存,但是从不同角度去理解内存就会产生不同意义。 变量:所谓变量就是一种定义,通过定义编译器将会开辟一段空间,并将这段内存起始...
  • 成员变量和局部变量区别:  1.作用域;  成员变量 在整个 类中都有效;  局部变量 只在定义它 代码块内有效;  2.初始值;  成员变量 系统 自动初始化;  局部变量 我们 初始化,系统不会 初始化。  3....
  • 成员变量和局部变量的区别? 答: (1)在类中位置不同: 成员变量:在类中方法外。 局部变量:在方法中或代码块中。 (2)作用范围不同: 成员变量:当前类的很多方法。 局部变量:当前一个方法或代码块。 ...
  • 1.1 类和对象的区别面向对象的编程思想力图在程序中对事物的描述与该事物在现实中的形态保持一致。为了做到这一点,面向对象的思想中提出两个概念,即类和对象。其中,类是对某一类事物的抽象描述,而对象用于表示...
  • 这几天上课时候遇到这样一个疑问,为什么可以直接new一个对象,这样说不太形象,举个例子 ...2.因为前者创建了变量p1,所以后续可以通过此变量对象进行其他操作 后者属于匿名对象、临时变量,...
  • 成员变量和局部变量 1. 定义位置不一样【重点】 局部变量:在方法内部 成员变量:在方法外边,直接写在类当中 2. 作用范围不一样【重点】 局部变量:只有方法当中才可以使用,出了方法就不能使用 成员变量:...
  • 静态变量和成员变量的区别 1.所属不同: 静态变量属于类,所以称为类变量 成员变量属于对象,所以称为对象变量 2.内存中位置不同: 静态变量储存于方法区的静态区 成员变量储存于堆内存中 3.内存出现世界不同: 静态...
  • 变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象; 例: class person{ static ...
  • 成员变量和局部变量区别 在类中位置不同 成员变量:在类中方法外面 局部变量:在方法或者代码块中,或者方法声明上(即在参数列表中) 在内存中位置不同 成员变量:在堆中(方法区中静态区),成员变量属于...
  • 在面向对象的学习中,我们遇到了成员变量,所以有必要对比一下成员变量和局部变量的区别,从而加深记忆。 区别: 成员变量和局部变量的区别 区别/类别 成员变量 局部变量 书写位置 类中,方法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,616
精华内容 7,846
关键字:

变量和对象的区别