本节把类和对象的初始化所涉及到的所有代码块阐述一边。

示例代码:

 public class Demo {
private static String name;
private String age; // 主函数
public static void main(String[] args) {
Demo demo = new Demo(); } // 构造函数
public Demo() {
System.out.println("我是构造函数,随着对象建立而运行");
} // 我是构造代码块
{
System.out.println("我是构造代码块,随着对象建立而运行,优先于对象的构造函数"); }
// 我是静态代码块
static {
System.out.println("我是静态代码块,随着类加载而运行");
}
}

新建一个Demo类,主函数中新建此类对象demo;

运行步骤:

1.Demo类加载的同时,static代码块会一起加载并执行;作用是对类初始化

2.new关键字在堆中开辟空间,分配内存地址;建立对象的特有属性。并进行默认初始化;对属性进行显示初始化。

3.对构造代码块初始化,会优先于构造函数执行,作用是对所有对象初始化;

4.紧跟着构造函数执行,作用是对相关对象初始化;

Java基础——类和对象的初始化过程的更多相关文章

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

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

  2. 第31节:Java基础-类与对象

    前言 Java基础-类与对象,方法的重载,构造方法的重载,static关键字,main()方法,this关键字,包,访问权限,类的继承,继承性,方法的重写,super变量. 方法的重载:成员方法的重载 ...

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

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

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

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

  5. java基础---类和对象(1)

    一. 类和对象 面向对象:以属性和行为的观点去分析现实生活中的事物,将功能封装进对象, 强调具备了功能的对象,以类/对象为最小单位,考虑谁来做 面向过程:强调的是功能行为,以函数为最小单位,考虑怎么做 ...

  6. JAVA基础——类和对象

    java类与对象学习笔记 一.成员变量和局部变量 (1)定义 1.成员变量 在类中定义,用来描述对象将要有什么.(默认的成员变量值为0) 2.局部变量 在类的方法中定义,在方法中临时保存数据. 演示示 ...

  7. Java基础-类和对象

    类和对象 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是一个模板,它描述一类对象的行为和状态. ...

  8. Java基础—类和对象

    基本概念 对象:对象是类的一个实例,有状态和行为.例如,一条狗是一个对象,它的状态有:颜色.名字.品种:行为有:摇尾巴.叫.吃等. 类:类是具有相同属性和方法的一组对象的集合,它为属于该类的所有对象提 ...

  9. Java自学-类和对象 属性初始化

    如何进行Java的属性初始化 步骤 1 : 对象属性初始化 对象属性初始化有3种 声明该属性的时候初始化 构造方法中初始化 初始化块 . public class Hero { public Stri ...

随机推荐

  1. 高德地图开发之获取SHA1码

    通过Android Studio获取SHA1 第一步.打开 Android Studio 的 Terminal 工具. 第二步.输入命令:keytool -v -list -keystore  key ...

  2. 应用四:Vue之VUEX状态管理

    (注:本文适用于有一定Vue基础或开发经验的读者,文章就知识点的讲解不一定全面,但却是开发过程中很实用的) 概念:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应 ...

  3. ionic3、Angular4 定时器的使用

    // 声明变量 applicationInterval:any; // 定时器 // 使用定时器,每秒执行一次 ionViewDidEnter(){ let that = this; let appl ...

  4. VA Code编写html(1)

    <html> <head> <title>my webside</title> <!--win+‘/’注释行--> <!--防止中文乱 ...

  5. distpicker 省市县级联

    一.前言:想着每次写项目都要遇到省市县级联,就想找一个比较简单好用的插件来...感觉挺不错~~~ 二.例子: html : 效果: 还有很多种用法,我这里只放一种,插件文件里index.html有介绍 ...

  6. MooFest 树状数组 + 前缀和

    比较友好的数据结构题 建议读者好好思考思考--. 可以分析出与前缀和的关系, 之后就愉快的套起树状数组辣 #include <cstdio> #include<queue> # ...

  7. SQL Server UPDATE语句的用法详解

    SQL Server UPDATE语句用于更新数据,下面就为您详细介绍SQL Server UPDATE语句语法方面的知识,希望可以让您对SQL Server UPDATE语句有更多的了解. 现实应用 ...

  8. idea进入列选择模式

    shift + alt + insert 快捷键进入或退出列选择模式 进入列选择模式可以以列坐标选择一列或者多列

  9. 【Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) B】Weakened Common Divisor

    [链接] 我是链接,点我呀:) [题意] 给你n个数对(ai,bi). 让你求一个大于1的数字x 使得对于任意的i x|a[i] 或者 x|b[i] [题解] 求出第一个数对的两个数他们有哪些质因子. ...

  10. 跳出$.each()循环

    return false:将停止循环 ,跳出eachreturn true:跳至下一个循环(就像在普通的循环中使用'continue').