相信我们在面试Java的时候总会有一些公司要做笔试题目的,而Java类的加载和对象创建流程的知识点也是常见的题目之一。接下来通过实例详细的分析一下:

package com.test;

public class Parent {

    int a = 10;
static int b =11;
//静态代码块
static {
System.out.println("parent静态代码块:b=" + b);
b++;
}
//代码块
{
System.out.println("Parent代码块:a=" + a);
System.out.println("Parent代码块:b=" + b);
b++;
a++;
}
//无参构造函数
Parent(){
System.out.println("Parent无参构造函数:a=" + a);
System.out.println("Parent无参构造函数:b=" + b);
}
//有参构造函数
Parent(int a){
System.out.println("Parent有参构造函数:a=" + a);
System.out.println("Parent有参构造函数:b=" + b);
}
//方法
void function(){
System.out.println("Parent function run ......");
}
}
package com.test;

public class Child extends Parent {

    int x = 10;
static int y = 11;
//静态代码块
static {
System.out.println("Child静态代码块:y=" + y);
y++;
}
//代码块
{
System.out.println("Child代码块:x=" + x);
System.out.println("Child代码块:y=" + y);
y++;
x++;
}
//构造函数
Child(){
System.out.println("Child无参构造函数:x" + x);
System.out.println("Child无参构造函数:y=" + y);
}
//方法
void function(){
System.out.println("Child function run ......");
} }
package com.test;

public class testPC {
public static void main(String[] args) { Child demo = new Child();
demo.function();
System.out.println("............................................................");
/* Child child = new Child();
child.function();*/
}
} 结果:

parent静态代码块:b=11
Child静态代码块:y=11
Parent代码块:a=10
Parent代码块:b=12
Parent无参构造函数:a=11
Parent无参构造函数:b=13
Child代码块:x=10
Child代码块:y=12
Child无参构造函数:x11
Child无参构造函数:y=13
Child function run ......
............................................................
Parent代码块:a=10
Parent代码块:b=13
Parent无参构造函数:a=11
Parent无参构造函数:b=14
Child代码块:x=10
Child代码块:y=13
Child无参构造函数:x11
Child无参构造函数:y=14
Child function run ......


												

Java类的加载和对象创建流程的详细分析的更多相关文章

  1. 【Java基础】Java类的加载和对象创建流程的详细分析

    相信我们在面试Java的时候总会有一些公司要做笔试题目的,而Java类的加载和对象创建流程的知识点也是常见的题目之一.接下来通过实例详细的分析一下. 实例问题 实例代码 Parent类 package ...

  2. Java类的加载的一个小问题

    前言 之前写了一篇文章专门介绍了一下类的加载和对象的创建流程,然后收到了一个博友的疑问,觉得蛮好的,在这里和大家分享下. 博文地址:[Java基础]Java类的加载和对象创建流程的分析 疑问 类在加载 ...

  3. jvm系列(一):java类的加载机制

    java类的加载机制 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装 ...

  4. Java类的加载、链接和初始化

    一.Java的类加载机制回顾与总结: 我们知道一个Java类要想运行,必须由jvm将其装载到内存中才能运行,装载的目的就是把Java字节代码转换成JVM中的java.lang.Class类的对象.这样 ...

  5. java 类的加载,链接,初始化

    本篇的话题,讨论Java类的加载.链接和初始化.Java字节代码的表现形式是字节数组(byte[]),而Java类在JVM中的表现形式是java.lang.Class类的对象.一个Java类从字节代码 ...

  6. JAVA类的加载、连接与初始化

    JAVA类的加载.连接与初始化 类的声明周期总共分为5个步骤1.加载2.连接3.初始化4.使用5.卸载 当java程序需要某个类的时候,java虚拟机会确保这个类已经被加载.连接和初始化,而连接这个类 ...

  7. Java类的加载 链接 初始化

    原文地址 Java类的加载.链接和初始化.Java字节代码的表现形式是字节数组(byte[]),而Java类在JVM中的表现形式是java.lang.Class类的对象.一个Java类从字节代码到能够 ...

  8. 别翻了,这篇文章绝对让你深刻理解java类的加载以及ClassLoader源码分析【JVM篇二】

    目录 1.什么是类的加载(类初始化) 2.类的生命周期 3.接口的加载过程 4.解开开篇的面试题 5.理解首次主动使用 6.类加载器 7.关于命名空间 8.JVM类加载机制 9.双亲委派模型 10.C ...

  9. java类从加载、连接到初始化过程

    类加载器 在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用. 每个类编译后产生一个Class对象,存储在.class文件中,JV ...

随机推荐

  1. 审核被拒Guideline 2.1 - Information Needed we are unable to find 账号登录 option

    Guideline 2.1 - Information Needed We were unable to sign in to review your app with the demo accoun ...

  2. Mac ssh启动和停止

    原文地址:http://blog.csdn.net/cwj649956781/article/details/37913637 mac本身安装了ssh服务,默认情况下不会开机自启 1.启动sshd服务 ...

  3. vueX、vue中transition的使用、axios

    引入一篇好文章链接:看一遍就会的vuex文章;完!!! vue中transtion的使用:transition文章;完!!! axios的文章:axios;完!!!

  4. xtrabackup工具备份与恢复

    1.xtrabackup简介 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品.它能对 ...

  5. python 时间戳和时间格式互相转换

    #!/usr/bin/python3 # -*- coding: utf-8 -* import time def str_to_stamp(): # 转换显示格式 time1 = time.strp ...

  6. Summary: Calculate average where sum exceed double limits

    What is a good solution for calculating an average where the sum of all values exceeds a double's li ...

  7. java快排思想

    1分治思想 1.1比大小在分区 1.2从数组中取出一个数做基准数 1.3将比他小的数全放在他的左边,比他大的数全放在他的右边 1.4然后递归 左边 和右边 }

  8. C#中的反射 Reflection

    起初是因为这个4.0才新增的新的引用类型,我当时很惊讶为什么string和int他都能装,然后我就发在了群里,以为大佬告诉我他的内部实现是通过反射来实现的,于是我就去看反射了,看了网上的好多篇文章大篇 ...

  9. Redis4.0 之持久化存储

    redis如果提供缓存服务,可以关闭所有持久化存储,如此一来redis重启后所有数据会丢失 开启rdb或aof持久化存储,能把redis中的数据持久化到磁盘中. rdb和aof对性能都有影响,所以建议 ...

  10. 关于webpack官网的学习

    webpack,从名词上,"web pack",大概可以看出是一个网页打包工具,其实它具有打包.压缩.解析编译的功能. 使用(配置webpack.config.js) entry: ...