java中实例化到底是啥意思啊...通俗点儿..求解.

Python010

java中实例化到底是啥意思啊...通俗点儿..求解.,第1张

就是你声明了一个对象,比如说

Student student

Student是你的类,student是你声明的对象,这个就是对象的声明

然后你再

student=new Student()

这个new的过程就叫实例化

对象声明后是不分配空间的,而这个new的过程给他分配空间

就是把抽象的概念具体化了

比如这个Student是指学生类,用new Student()给他具体指定了student是哪一个学生,把他从一个概念性的学生变成了一个独立个体的学生。概念性的学生有属性,但是属性没有具体的值,实体的学生有属性,同时属性也有具体的值。

这样写当然不同了。这个问题可以通过“类加载”机制来阐述。

例如,当你执行该条语句 C c1= new C()时,类,对象以及它们成员加载、初始化的顺序如下:

1、首先加载要创建对象的类及其直接与间接父类。

2、在类被加载的同时会将静态成员进行加载,主要包括静态成员变量的初始化,静态语句块(即static{...})的 执行,在加载时按代码的先后顺序进行。

3、需要的类加载完成后,开始创建对象,首先会加载非静态的成员,主要包括非静态成员变量的初始化,非静态语句块的执行,在加载时按代码的先后顺序进行。

4、最后执行构造器,构造器执行完毕,对象生成。

两种写法区别不大,就是顺序不同。一般情况下,Swing创建实例的时候,都是在实例方法(或构造方法)中写。

明白了没

你要买一个苹果,售货员给你一个苹果;

你要买一苹果, 相当于 --------- Apple apple = null

这个时候你并没有拿到苹果---------java没有给你申请内存,这个时候apple还什么内容都没有,只是告诉别人apple是个苹果

售货员给你个苹果 ----------apple = new Apple()

这个时候你拿到了苹果 ---------- java给你开辟了空间,并且apple可以使用苹果的特性,比如:apple.getPrice(),apple.getTaste()

这就是apple的实例化