父类静态(代码块,变量赋值二者按顺序执行)
子类静态
父类构造代码块
父类构造方法
子类构造代码块
子类构造方法
普通方法在实列调用的时候执行,肯定位于上面之后了
//父类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的构造方法");
}
}
结果:
这样就很明了了,下面稍微扩展一下,如果在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的构造方法");
}
}
结果:
结果先执行完父类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 ...