A a = new A();

new 创建对象过程:
1.类加载
    代码验证
2.给对象在内存(堆)中分配空间(给属性赋值);
3.属性赋默认值;
byte,short.int,long ->0
float  ->0.0f
double ->0.0
boolean  ->false
String ->null
char ->'\u0000'
4.给属性赋初始值;(用等号‘=’)
5.调用构造方法(方法和类名相同,没有返回类型)
6.将对象在堆区中的首地址返回给引用a

/*
* Java类实例化的初始化过程.
* 执行顺序:
* (静态变量->静态初始化块)->main->(实例变量->实例初始化块)->构造器
*/ public class NewInstanceTest1
{
public static void main(String[] args)
{
System.out.println("main"); System.out.println("---111---");
new NewInstanceTest1(); System.out.println("---222---");
new NewInstanceTest1();
} private static int i = 1;
public static String sStr = "静态变量";
public String iStr = "实例变量"; {
// 实例初始化块
System.out.println("进入实例初始化块");
System.out.println("实例初始化块中调用变量:" + iStr);
System.out.print("实例初始化块中调用方法:");
iTalk();
} static
{
// 静态初始化块
System.out.println("进入静态初始化块");
System.out.println("静态初始化块中调用变量:" + sStr);
System.out.print("静态初始化块中调用方法:");
sTalk();
} public static void sTalk()
{
// 静态方法
System.out.println("静态方法" + "/静态变量值" + (++i));
} public void iTalk()
{
// 实例方法
System.out.println("实例方法");
} public NewInstanceTest1()
{
// 构造器
System.out.println("构造器");
} } // 输出结果:
进入静态初始化块
静态初始化块中调用变量:静态变量
静态初始化块中调用方法:静态方法/静态变量值2
main
---111---
进入实例初始化块
实例初始化块中调用变量:实例变量
实例初始化块中调用方法:实例方法
构造器
---222---
进入实例初始化块
实例初始化块中调用变量:实例变量
实例初始化块中调用方法:实例方法
构造器

Java类的实例化的初始化过程的更多相关文章

  1. 解析Java类和对象的初始化过程

    类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来 ...

  2. [转载]解析 Java 类和对象的初始化过程

    原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-clobj-init/index.html 由一个单态模式引出的问题谈起 类的初始化和对象初始化 ...

  3. 创建Java类并实例化的基本过程

    package com.sanguosha.java; /* * 面向对象实现的过程 * 1.创建类并设计类的成员(成员变量即属性and成员方法即方法) * 2.通过类来创建类的对象,也称类的实例化 ...

  4. Java 类的实例变量初始化的过程 静态块、非静态块、构造函数的加载顺序

    先看一道Java面试题: public class Baset { private String baseName = "base"; // 构造方法 public Baset() ...

  5. java中类的创建及初始化过程

    java中类的创建及初始化过程无外乎两种情况,其一为单类的创建及初始化,其二具有继承关系的父子类创建及初始化过程.     首先说简单的,单类的创建及初始化过程.在java中我们都知道绝大部分对象的创 ...

  6. 创建java类并实例化类对象

    创建java类并实例化类对象例一1.面向对象的编程关注于类的设计2.设计类实际上就是设计类的成员3.基本的类的成员,属性(成员变量)&方法 面向对象思想的落地法则一:1.设计类,并设计类的成员 ...

  7. 【基础】java类的各种成员初始化顺序

    父子类继承时的静态代码块,普通代码块,静态方法,构造方法,等先后顺序 前言: 普通代码块:在方法或语句中出现的{}就称为普通代码块.普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出 ...

  8. 【Thinking in Java】类和对象的初始化过程

    在Java中, 当一个类被调用的时候,它的初始化过程是怎么样的呢? 当一个类被实例化的时候,它的初始化过程又是怎样的呢? 为什么static方法不能未经对象就调用非static方法? 下面我们通过例子 ...

  9. Java基础——类和对象的初始化过程

    本节把类和对象的初始化所涉及到的所有代码块阐述一边. 示例代码: public class Demo { private static String name; private String age; ...

随机推荐

  1. LaTeX排版设置图表的位置 Positioning images and tables

    Positioning images and tables LATEX is an editing tool that takes care of the format so you only hav ...

  2. QT creator出现 no executable specified时解决办法

    1.     本人是在linux/ubutun中使用QT creator,一次编译程序的时候出现了“no executable specified”的错误而无法运行程序.解决办法: 在用QT crea ...

  3. go语言基础之函数类型

    1.函数类型 示例: package main import "fmt" func Add(a, b int) int { return a + b } func main() { ...

  4. django ORM创建数据库方法

    1.指定连接pymysql(python3.x) 先配置_init_.py import pymysql pymysql.install_as_MySQLdb() 2.配置连接mysql文件信息 se ...

  5. java设计模式5--原型模式(Prototype)

    本文地址:http://www.cnblogs.com/archimedes/p/java-prototype-pattern.html,转载请注明源地址. 原型模式 用原型实例指定创建对象的种类,并 ...

  6. SVN — subclipse操作指引

    摘自: http://jiangzhengjun.iteye.com/blog/491824 安装插件:请参照http://subclipse.tigris.org/servlets/ProjectP ...

  7. 开发者和系统管理者最喜爱的开源工具Vim 起步学习的五个技巧

    多年来,我一直想学 Vim.如今 Vim 是我最喜欢的 Linux 文本编辑器,也是开发者和系统管理者最喜爱的开源工具.我说的学习,指的是真正意义上的学习.想要精通确实很难,所以我只想要达到熟练的水平 ...

  8. RS报表设计采用Total汇总过滤出错

    错误信息: DMR 子查询计划失败,并产生意外错误.: java.lang.NullPointerException 如图 原因是在RS过滤器中添加了: total([门诊人次] for [明细科室] ...

  9. crm2013安装和部署语言包

    步骤 1:安装语言包 假设具有执行 Microsoft Dynamics CRM for Microsoft Office Outlook 的用户,除了在执行 Microsoft Dynamics C ...

  10. Eclipse启动Tomcat错误(其他类似)

    Eclipse启动Tomcat错误信息: Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are alre ...