Java基础(basis)-----代码块详解
1.静态代码块
格式: static{ 内容..... }
- 随着类的加载而加载,而且只被加载一次
- 多个静态代码块之间按照顺序结构执行
- 优先其他各种代码块以及构造函数先执行
- 静态的代码块中只能执行静态的结构(类属性,类方法)
2.构造代码块
格式:{ 内容...... }
- 每创建一个类的对象,非静态代码块就加载一次
- 非静态代码块的执行要早于构造器
- 一个类中可以有多个非静态的代码块,多个代码块之间按照顺序结构执行
- 可以对类的属性(静态的 & 非静态的)进行初始化操作,同时也可以调用本类声明的方法(静态的 & 非静态的)
3.普通代码块
普通代码块是在方法体中定义的
格式:权限修饰符 返回值 方法名(){ { 内容...... } }
package com.codeblock;
/**
* 代码块
*
* @author yyx 2019年2月15日
*/
public class CodeBlockDemo {
public static void main(String[] args) {
SubClass subClass = new SubClass();
subClass.sayHello();
System.out.println("-------------");
SubClass subClass1 = new SubClass();
}
}
class SuperClass {
static {
System.out.println("父类静态代码块!");
}
{
System.out.println("父类构造代码块!");
}
public SuperClass() {
System.out.println("父类构造函数");
}
}
class SubClass extends SuperClass {
static {
System.out.println("子类静态代码块!");
}
{
System.out.println("子类构造代码块!");
}
public SubClass() {
System.out.println("子类构造函数");
}
public void sayHello() {
{
System.out.println("子类普通代码块");
}
}
}运行结果:
父类静态代码块!
子类静态代码块!
父类构造代码块!
父类构造函数
子类构造代码块!
子类构造函数
子类普通代码块
-------------
父类构造代码块!
父类构造函数
子类构造代码块!
子类构造函数
Java基础(basis)-----代码块详解的更多相关文章
- java中静态代码块详解
感谢大佬:https://blog.csdn.net/qq_35868412/article/details/89360250 今天在项目中看到这行代码,静态代码块,很久没用静态代码块了,今天来复习一 ...
- Java基础-面向接口编程-JDBC详解
Java基础-面向接口编程-JDBC详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.JDBC概念和数据库驱动程序 JDBC(Java Data Base Connectiv ...
- java基础(3)--详解String
java基础(3)--详解String 其实与八大基本数据类型一样,String也是我们日常中使用非常频繁的对象,但知其然更要知其所以然,现在就去阅读源码深入了解一下String类对象,并解决一些我由 ...
- java构造代码块详解
一.简介 首先说一下,Java中有哪些代码块. 普通代码块 就是在方法后面使用"{}"括起来的代码片段,不能单独执行,必须调下其方法名才可以执行. 静态代码块 在类中使用stati ...
- Java 代码块详解
注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 注:本文原链接:https://www.cnblogs.com/chloneda/p/java-c ...
- Java代码块详解
Java中代码块指的是用 {} 包围的代码集合,分为4种:普通代码块,静态代码块,同步代码块,构造代码块 普通代码块: 定义:在方法.循环.判断等语句中出现的代码块 修饰:只能用标签修饰 位置:普通代 ...
- java中的静态变量、静态方法与静态代码块详解与初始化顺序
我们知道类的生命周期分为装载.连接.初始化.使用和卸载的五个过程.其中静态代码在类的初始化阶段被初始化. 而非静态代码则在类的使用阶段(也就是实例化一个类的时候)才会被初始化. 静态变量 可以将静 ...
- java中的静态变量,静态方法与静态代码块详解
java中的类的生命周期分为装载,连接,初始化,使用,和卸载五个过程. 而静态代码在类的初始化阶段被初始化. 而非静态代码则在类的使用阶段(也就是实例化一个类的时候)才会被初始化. 静态变量 可以将静 ...
- java基础之类与继承 详解
Java:类与继承 对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础.抽象.封装.继承.多态这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关知 ...
随机推荐
- CF997C Sky Full of Stars 数论
正解:容斥 解题报告: 传送门! 两个方法,分别港下QAQ 先说第一种 首先要推出式子,就∑2*C(i,n)*(-1)i+1*3i*3n*n-n+3*∑∑(-1)i+j+1*C(i,n)*C(j,n) ...
- Why does the memory usage increase when I redeploy a web application?
That is because your web application has a memory leak. A common issue are "PermGen" memor ...
- php程序猿面试分享
面试总结 今天去了北京著名IT公司进行PHP程序猿的面试.这是人生第一次么,怎么不紧张?我是不是有病.不是.这叫自信呵. 首先是做一些笔试题. 1.mysql数据库索引使用的数据结构?这样做的优点是? ...
- MathWorks.MATLAB.NET.Arrays.MWArray”的类型初始值设定项引发异常 解决方法
原因 用的是matlab7运行时,后面又安装了matlab11,后面又重新安装了matlab7运行时,c盘下就有二个运行时的版本了,程序引用了后面的那个,编译后就出上面的问题 解决方法 1重新引用上面 ...
- sublime使用手册
1.怎么批量选中开头和结尾?将光标定位到区域的开头,ctrl+alt+下键(一直按下键). 2.怎么打开和关闭tab的自动补全?preferences->settings->User{ & ...
- node 学习系列-hello world
准备学习node,记录一段 1.搭建好 node 以后,就记录一下 hello world
- vue中自定义软键盘
https://segmentfault.com/a/1190000012568480
- sap 程序之间的相互调用
1:首先进入到local object 目录下. 右键>create >function group,创建一个函数组. 右键创建类其它的东西 2:在创建的function group(fu ...
- [py][mx]django的cookie和session操作-7天免登录
浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...
- dfs1321
比较抽象吧,看到题时一点思想也没有,参考了别人的代码才知道...渣渣 #include <iostream>#include <stdio.h>#include <str ...