new一个对象的过程

转载 2016年05月30日 20:39:17


1.静态代码块

2.默认初始化

3.构造代码块

4.构造方法

//静态代码块先执行,构造代码块执行,对象内执行
class person
{
        //静态代码块先执行,构造代码块执行,对象内执行
        person()
        {
                System.out.println("构造函数3");
        }
        static 
        {
                System.out.println("静态代码块1");
        }
        
        {
                System.out.println("构造代码块2");
        }
        
        
}
public class personDemo2 
{
        public static void main(String[] args) 
        {
                person p =new person();
        }
}
执行结果:打印
静态代码块1
构造代码块2
构造函数3


class A{

    private String name;

    private int age;

    static { }

    {
     name = "zh2";
    } 
    public void A(String name,int age){
        this.name = name;
        this.age = age;
    }
}


class B{

    public static void main(String[] args){

    A a = new A(“zh3”,23);

    }

}


执行顺序:

1 因为new用到了 A.class, 所以会先找到A.class文件并加载到内存中

2 执行该类中的static代码块,如果有的话,给A.class类进行初始化。

3 在堆内存中开辟空间,分配内存地址

4 在堆内存中建立对象的特有属性,并进行默认初始化(name = null, age =0)

5 对属性进行显示初始化(name = "zh2")

6 对对象进行构造代码块初始化

7 对对象进行对应的构造函数初始化

8 将内存地址付给占内存中的a变量


new一个对象的过程

class A{ private String name; private int age; static { } { } public void A(String name,int age){ t...
  • zqx198810
  • zqx198810
  • 2014年03月03日 21:08
  • 1024

浅谈JavaScript new对象的四个过程

new对象: function Person(name,age,job) { this.name=name; this.age=age; } var person = new ...
  • zhouziyu2011
  • zhouziyu2011
  • 2017年03月03日 17:30
  • 248

new一个对象的过程发生了什么

创建一个对象通常需要两步: 1. 定义构造函数; 2. 通过new来创建对象实例。 当我们使用new新建一个对象的时候,以new foo(...)为例: 1. 一个新的对象被创建,同时继承了对象类型的...
  • w770583069
  • w770583069
  • 2017年08月17日 13:48
  • 1624

再论 new 对象 时 jvm 的工作步骤

//父类 class Fu { //父类构造方法 Fu() { this.getNum(); } public void getNum() { System.out.println...
  • lb_383691051
  • lb_383691051
  • 2015年06月22日 18:43
  • 566

java中用new创建一个对象的过程解析

见 http://zhangjunhd.blog.51cto.com/113473/17124/
  • huxiaokang1234
  • huxiaokang1234
  • 2016年10月05日 01:00
  • 9663

Java 一个对象实例化过程

package day09; class Fu{ Fu(){ super(); show(); return; } void show(){ System.out.printl...
  • china_demon
  • china_demon
  • 2016年01月15日 01:14
  • 1918

java中new一个对象的时候JVM都做了哪些事

new 一个对象的时候JVM都做了哪些事情: 一、之前没有进行类加载 1、 类加载,同时初始化类中静态的属性(赋默认值) 2、执行静态代码块 3、分配内存空间,同时初始化非静态的属性(赋默认...
  • Q_X_X
  • Q_X_X
  • 2016年10月04日 14:31
  • 1885

理解new 一个对象的含义

new 一个对象的含义
  • ZJDWHD
  • ZJDWHD
  • 2016年04月08日 14:59
  • 1874

JavaScript--new创建对象的过程

使用this指针添加类成员的缺点: ♪ 将所有的初始化语句、成员定义都放到一起,代码逻辑不够 清晰,要实现复杂的功能时往往力不从心。 ♪ 因为每创建一个类的实例,都要执行一次构造函数。所以实 ...
  • GregOfNeu
  • GregOfNeu
  • 2014年09月17日 22:40
  • 1014

Java new一个对象执行几个过程

Person a=new Person("zhangsan",10); 这一句话执行的过程: 1.虚拟机先执行Person.class文件 2.执行Person类的static静态代码 3.开...
  • sdut406
  • sdut406
  • 2016年03月25日 16:42
  • 349
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:new一个对象的过程
举报原因:
原因补充:

(最多只允许输入30个字)