• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Java > 大括号{}的意义与静态代码块与构造函数的加载关系

大括号{}的意义与静态代码块与构造函数的加载关系

作者:maylead 字体:[增加 减小] 来源:互联网 时间:2017-11-12

maylead通过本文主要向大家介绍了等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

import java.util.HashMap;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
import java.util.TreeSet;


import javax.annotation.PostConstruct;


class T {
static {
System.out.println("1");
}


{
System.out.println("2");
}


T() {
System.out.println("父类构造");
}
public static void got(){
System.out.println("调用T类的方法,静态方法");
}
static {
System.out.println("3");
}
{
System.out.println("4");
}
}


public class Test extends T {

public Test() {
System.out.println("子类构造函数");
}
static {
System.out.println("5");
}
{
System.out.println("6");
}


public static void main(String[] args) {

 

/* Test t = new Test();

 

t.get();

System.out.println("=====================");
Test.got();
System.out.println("=====================");*/
Test.post();
}

public void get(){
System.out.println("调用Test类的方法");
}

public static void post(){
System.out.println("调用Test类的静态方法");
}
static {
System.out.println("7");
}
{
System.out.println("8");
}
}

 

new Test()时,输出    1      3                     5    7                         2     4                   父类的构造    6   8                  子类的构造

                              (父类静态代码块)  (子类静态代码块)    (父类初始代码块)                  (子类初始代码块)

调用Test类的内部get方法输出 1 3 5 7 2 4 父类的构造 6 8 子类的构造 调用Test类的方法

Test.got()时输出 1 3 5 7 调用T类的方法,静态方法
Test.post()时输出 1 3 5 7 调用Test类的静态方法
 

其实在类内部{}只是代表在调用构造函数之前在{}中初始化,static{}只在类加载时调用
 

new子类的对象时,先调用父类static{}里的东西,再调用子类里的static{},再调用父类{}({}为初始化代码块,在静态块后、构造方法前执行),再调用父类构造方法,再调用子类构造方法


调用子类或者父类的静态方法时,先调用父类的static{}再调用子类的static{}

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-2830分钟入门Java8之默认方法和静态接口方法学习
  • 2017-05-28Java基本数据类型与对应的包装类(动力节点java学院整理)
  • 2017-05-28SpringMVC中MultipartFile上传获取图片的宽度和高度详解
  • 2017-05-28Java中IO流 RandomAccessFile类实例详解
  • 2017-05-28java泛型详解
  • 2017-05-28Java Object类详解_动力节点Java学院整理
  • 2017-05-28Java自定义注解实现Redis自动缓存的方法
  • 2017-05-28Java程序员新手老手常用的八大开发工具
  • 2017-05-28SpringBoot JPA 表关联查询实例
  • 2017-05-28Java 中IO流字符流详解及实例

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • java后台利用Apache poi 生成excel文档提供前台下载示例
    • SpringBoot Mybatis Plus公共字段自动填充功能
    • 老生常谈java路径中的反斜杠和斜杠的区别
    • Java vector的详解及实例
    • java基础中异常及包归纳整理
    • 对dbunit进行mybatis DAO层Excel单元测试(必看篇)
    • Java 中的FileReader和FileWriter源码分析_动力节点Java学院整理
    • Java 多线程有序执行的几种方法总结
    • 深入理解java异常处理机制的原理和开发应用
    • Spring Boot(三)之找回熟悉的Controller,Service

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有