java子类代码块_java中父类子类静态代码块、构造代码块执行顺序

父类静态(代码块,变量赋值二者按顺序执行)

子类静态

父类构造代码块

父类构造方法

子类构造代码块

子类构造方法

普通方法在实列调用的时候执行,肯定位于上面之后了

//父类A

public class A {

A() {

System.out.println("A构造方法");

}

{

System.out.println("A构造代码块");

}

static{

System.out.println("A静态码块");

}

public static void main(String[] args) {

C c1=new C();

}

//子类C

public class C extends A {

static {

System.out.println("C的静态代码块");

}

{

System.out.println("C构造代码块");

}

C() {

System.out.println("C的构造方法");

}

}

结果:

adfb28092959f41d0e9c81c032d4a833.png

这样就很明了了,下面稍微扩展一下,如果在main中出现 new A()呢?我们来看

//父类A

public class A {

static{

System.out.println("A静态码块");

}

A() {

System.out.println("A构造方法");

}

{

System.out.println("A构造代码块");

}

public static void main(String[] args) {

A a=new A();

C c1=new C();

}

//子类C

public class C extends A {

static {

System.out.println("C的静态代码块");

}

{

System.out.println("C构造代码块");

}

C() {

System.out.println("C的构造方法");

}

}

结果:

f5536ff0c3de6877ae46fa282d773a30.png

结果先执行完父类A,只执行子类C,并不是执行完A的静态就执行C的静态,这里可能有误区。

博主实测,欢迎指正。

JAVA中try、catch、finally带return的执行顺序总结

异常处理中,try.catch.finally的执行顺序,大家都知道是按顺序执行的.即,如果try中没有异常,则顺序为try→finally,如果try中有异常,则顺序为try→catch→final ...

Java中的try,catch(Exception e),finally及return执行顺序

结论: ①就算之前return,finally也会执行 ②finally的计算结果不影响之前的return值 ③finally的return值一定是最后的返回结果,因此将return放入finally ...

Java类中代码的执行顺序 静态代码块>构造代码块>构造方法

一:静态代码块 注意是代码块,不是静态函数.函数要调用才执行,代码块加载就执行,一般是静态变量的声明与初始化.被static修饰的代码块(赋值.输出操作等).类中静态语句块仅在类加载时被执行一次 如 ...

Java面试题 静态代码块 构造代码块 构造方法 的执行顺序

JAVA中的静态代码块 构造代码块 构造方法执行顺序: 静态代码块(类加载时执行)>>构造代码块>>构造方法 下面展示一个简单的例子,推荐大家动手运行一遍: public cl ...

java学习(一)静态代码块 构造代码块 构造方法的执行顺序及注意问题

今天我总结了一下java中静态代码块 构造代码块 构造方法的执行顺序及其注意问题 首先要知道静态代码块是随着类的加载而加载,而构造代码块和构造方法都是随着对象的创建而加载 当时做了这么一个小案例(想必 ...

java静态代码块、静态方法、静态变量、构造代码块、普通代码块

一.静态代码块 1.在java类中(方法中不能存在静态代码块)使用static关键字和{}声明的代码块: public class CodeBlock{ static{ System.out.prin ...

【Java基础】继承中的代码块和构造方法的执行顺序探索

本文讲述有关一个类的静态代码块,构造代码块,构造方法的执行流程问题.首先来看一个例子 /** * Created by lili on 15/10/19. */ class Person{ stati ...

静态代码块 2.构造代码块3.构造方法的执行顺序是1>2>3;明白他们是干嘛的就理解了。

1.静态代码块 2.构造代码块3.构造方法的执行顺序是1>2>3;明白他们是干嘛的就理解了.1.静态代码块:是在类的加载过程的第三步初始化的时候进行的,主要目的是给类变量赋予初始值.2.构 ...

【code block】局部代码块+构造代码块+静态代码块

1.局部代码块 位置:位于类的方法中 表示方法:{} 作用:控制变量的生命周期,减少内存消耗 demo: public class LocalCode { public static void mai ...

随机推荐

Android开发学习之路-Android Studio真神器!

放假之后电脑配置升级就开始用Android Studio(下面简称AS)了,那个酸爽真的不是一般的啊,这里开一篇博客来记录下AS里面各种酷炫的功能,有更好玩的,大家不要吝啬,评论告诉我吧! 最近And ...

Understanding the Internal Message Buffers of Storm

Understanding the Internal Message Buffers of Storm Jun 21st, 2013 Table of Contents Internal messag ...

JAVA基础知识之JVM-——使用反射生成并操作对象

Class对象可以获取类里的方法,由Method对象表示,调用Method的invoke可以执行对应的方法:可以获取构造器,由Constructor对象表示,调用Constructor对象的newIn ...

android114 c转换成c++

##C向C++改造 . 把c文件后缀名换成cpp . Android.mk文件中的hello.c也要换成hello.cpp . c++的使用的环境变量结构体中,访问了c使用的结构体的函数指针,函数名全 ...

C#实现对邮件的发送

首先是邮件帮助类 using System; using System.Collections.Generic; using System.Text; using System.Net.Mail; u ...

IOS--UITextFiled的使用方法

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for ...

接口测试入门(5)----新框架重构,使用轻量级的HTTP开发库 Unirest

之前的第一套框架在使用过程中发现存在以下问题: 一.  框架1缺点: 1.登陆的账号每个人写的不一样,一旦用户在测试环境被修改,则导致用例失败 2.每次读取访问网址,需要在同一个java文件下切换测试 ...

json格式的中文输出显示

print json.dumps(json.loads(result),ensure_ascii=False)

drools规则引擎中易混淆语法分析_相互触发导致死循环分析

整理了下最近在项目中使用drools出现的问题,幸好都在开发与测试阶段解决了,未波及到prod. 首先看这样两条规则: /** * 规则1_set默认利率a */ rule "rate_de ...

https://scrapingclub.com/exercise/basic_login/

遇到的问题:csrftoken cfduid 是在request.headers里面的,一直在找怎么在scrapy里get request.header,从scrapy shell ,then fet ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值