本文目录一览:
java中实例和对象有什么区别
对象的名字看你怎么理解,我们有时以变量名也就是对象的引用名称之, 以特指这个变量的对象,有时我们以其所属类名称之,以泛指所有相关的对象,此时与类对象只有一个 类 字之差
java中万物皆对象,实例是其中一种对象的称呼,
相当于从“模板”(类)中创造出实际的“物品”(对象),我们说这个对象是这个类的实例
比如Person p=new Person()
这里的对象叫实例对象,这里的对象相当于实际的“物品”,他是从“模板”中创造的,未必是new出来的,只要符合这个原则就是实例
比如Class p=Person.class
这里的对象叫类对象,因为类相当于“模板”,并不是new Person()这种实际的“物品”
Java中实例是什么意思?
new 一个对象是实例吗?\x0d\x0a对,是实例,你说的没错。可以把这个new出来的对象叫做实例,说白了就是这个new出来的“东西”,叫它对象也可以,叫它实例也可以,对象和实例在这个角度上来讲是等价的。\x0d\x0a这样:\x0d\x0aJava中使用 new关键字 加上 构造方法,来创建一个对象,下面是一个名为Cat的类,\x0d\x0apublic class Cat {\x0d\x0a public Cat() {\x0d\x0a System.out.println("这是构造方法");\x0d\x0a }\x0d\x0a}\x0d\x0a使用new + 构造方法 来创建一个对象,那么也就是\x0d\x0aCat c = new Cat();\x0d\x0a前半部分,Cat c 的意思是,在内存中分配一个变量,名字叫c,这个变量是Cat类型的,它的值是什么?\x0d\x0a一会儿在说;\x0d\x0a后半部分,new Cat(); 这就是new关键字和构造方法来创建一个对象,Cat()是构造方法的名字没错吧?想造出一个对象来,就这么写,语法规定的,没有为什么;\x0d\x0anew Cat(); 说明 new这个Cat类的一个对象,程序运行的时候,会调用构造方法Cat(),等这个构造方法执行完了,这个Cat类型的对象也就造出来了,真正的出现在内存当中了;\x0d\x0a使用new关键字造出来的对象,被分配在内存的堆区(heap),而且等这个对象真正出来之后,还会做一件重要的事情:\x0d\x0a我们这个对象是被分配在内存中的,那么内存地方大了,这个对象在哪里呢?怎么找到它呢?new关键字创建出一个对象之后,会把这个对象在内存中的地址返回,通过这个地址就可以找到这个对象,那么我们上面的写法,\x0d\x0aCat c = new Cat();\x0d\x0a意思就是说,把这个对象在内存中的地址 赋值 给变量c,这就是Java中引用概念,c就叫做引用,或者叫引用变量,或者直接叫变量,没问题,都是它;\x0d\x0ac的值就是一个内存地址,或者叫引用地址,通过这个地址,就可以准确的找到我们刚才创建出来的对象,以后我们要使用这个对象做一些事情,调用此对象的方法什么的,都用过这个引用,ok?\x0d\x0a----\x0d\x0a注意,我再说一遍,好多人都搞不清楚,这个c到底是对象还是引用,好多人说c就是Cat类的一个实例,这是非常错误的,c就是引用,不是对象!我们new出来的这个东西,真正在内存中的这个东西叫做对象,叫做实例
Java中实例是什么意思?
实例变量(instance variable):或叫实例域、实例字段(instance field),或叫成员变量(member variable)。实例的变量,每个实例的变量可能不同。实例方法(instance method):或叫成员方法(member method)。供实例用的方法,必须要先有实例,才能通过此实例调用实例方法。类变量(class variable):或叫静态域、静态字段(static field),或叫静态变量(static variable)。出现在这样的情况下:一个类的所有实例需要一个公有的属性,比如,一,统计实例个数;二,常量。类变量与类直接关联在一起。内存当中只有一个地方存放这个变量。任何实例都可以修改它的值(前提是它没有被final修饰符修饰,不然就是常量),但是,访问类变量并不需要实例,用类就可以操作了。类方法(class method):跟类变量的基本特点一样。供类用的方法,可以没有实例,直接通过类来调用类方法。从形式上看,类变量和类方法,比一般的变量和方法多了一个static修饰符。因为这个原因,类变量和类方法也被叫做静态变量和静态方法。它们的使用方法:实例方法可以直接访问实例变量,调用实例方法; 实例方法可以直接访问类变量,调用类方法。但不推荐这么做,原因是不清晰,容易把类变量误认为是实例变量,把类方法误认为是实例方法(借助IDE,它会给出警告信息。); 类方法可以直接调用类变量和类方法; 类方法不能直接调用实例变量和实例方法; 类方法里面不能使用“this”关键字,因为没有实例存在,“this”不知道引用哪个实例。
Java实例化的几种方式
1、用new语句创建对象,这是最常见的创建对象的方法。
2、通过工厂方法返回对象,如:String str = String.valueOf(23);
3、运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。如:Object obj = Class.forName("java.lang.Object").newInstance();
4、调用对象的clone()方法。
5、通过I/O流(包括反序列化),如运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。
怎么理解java中的实例化呢?
Java中的实例化,其实理解起来也挺简单,其实就是创建对象
例如:Car car = new Car();
通常把这条语句的动作称之为创建一个对象,也就是所谓的实例化过程.
在这句话中,Car是一个"汽车类",这个"类"可以理解成是一个"工厂里的模具",然后我们可以根据这个"模具"来创造出"一个具体的产品",这个"具体的产品",也就是所谓的"实例化对象"。
所谓的实例化,就是根据"类",来创造出一个一个具体的对象!