精华内容
下载资源
问答
  • 代码块

    千次阅读 2019-05-05 20:41:17
    代码块:就是用{}扩起来的代码。 根据位置和关键字的不同分为普通代码块、构造块、静态代码块、同步代码块。 1、普通代码块:就是直接在方法或语句中定义的代码块。 public class CodeDemo01 { public static void ...

    代码块:就是用{}扩起来的代码。
    根据位置和关键字的不同分为普通代码块、构造块、静态代码块、同步代码块(与线程有关,在线程里面分析)。

    1、普通代码块:就是直接在方法或语句中定义的代码块。

    public class CodeDemo01 {
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		{
    			int num=1;
    			System.out.println("这是普通代码块,里面的局部变量为:"+num);
    		}
    		int x=100;
    		System.out.println("这是普通代码之外,之外的局部变量为:"+x);
    	}
    }
    
    //结果:
    //这是普通代码块,里面的局部变量为:1
    //这是普通代码之外,之外的局部变量为:100
    

    2、构造块:直接写在类中的代码块。

    public class CodeDemo02 {
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		new Code02();
    		new Code02();
    	}
    }
    class Code02{
    	{
    		System.out.println("这是构造代码块——写在类中的代码块");
    	}
    	public Code02() {
    		System.out.println("实例化时调用");
    	}
    }
    //结果:
    /*这是构造代码块——写在类中的代码块
    实例化时调用
    这是构造代码块——写在类中的代码块
    实例化时调用*/
    

    构造代码块优于构造方法执行
    在此代码里面实例化对象时就会执行构造代码块,可以被执行多次。

    3、静态代码块:用static关键字声明的代码块。

    public class CodeDemo03 {
    	static {	
    		System.out.println("在Main()所在类定义静态代码块");
    	}
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		{
    			System.out.println("这是普通代码块");
    		}
    		new Code03();
    		new Code03();
    	}
    }
    class Code03{
    	static {
    		System.out.println("用static修饰的静态代码块");
    	}
    	{
    		System.out.println("这是构造块");
    	}
    	public Code03() {
    		System.out.println("调用无参构造方法时被执行");
    	}
    }
    /*在Main()所在类定义静态代码块
    这是普通代码块
    用static修饰的静态代码块
    这是构造块
    调用无参构造方法时被执行
    这是构造块
    调用无参构造方法时被执行*/
    

    静态代码块随着字节码加载也加载进了JVM,此时main方法还没有执行,因为方法需要JVM调用。即静态代码块优于Main()执行。

    Main()所在类的静态代码块优于Main()执行,在类中定义的静态代码块优于构造块执行,构造块优于构造方法执行。

    即,从快到慢为:
    Main()所在类的静态代码块(且只执行一次)<——Main()
    静态代码块(只执行一次)<——Main()
    类中的静态代码块<——构造块<——构造方法

    展开全文
  • idea快速开发之代码块编辑

    万次阅读 多人点赞 2020-05-09 17:59:28
    介绍如何同时编辑一大代码(即如何让光标的位置同时停留在一大块代码行中)。

    使用idea操作的时候,经常想对代码块进行操作,如果一个个切换效率就太低了,下面这招可以提高代码块的编辑(默认的快捷键)。

    按住 alt,再按住左键拖动 ,选择需要拖动的代码块,如图,这几行代码前面都有光标

    在这里插入图片描述

    这样,就可以同时编辑已被选择的代码块了。


    如果是PyCharm,则是 按住 shift+alt,再按住左键拖动

    展开全文
  • 今天有个同事问我关于代码块的问题 只记得静态代码块要提前执行 怕说错,查了资料,实测的一下,供大家参考 public class book { { System.out.println("这里是构造代码块");//所有类中有一个默认的构造函数,...

    今天有个同事问我关于代码块的问题   只记得静态代码块要提前执行 怕说错,查了资料,实测的一下,供大家参考

    public class book {

    {
    System.out.println("这里是构造代码块");//所有类中有一个默认的构造函数,这里的代码块为构造代码块,在类中的对象被创建时执行
    }
    public static void main(String[] args) {

    {
    System.out.println("这里是普通代码块A");
    }
    new book();//第二次类加载时静态代码块不执行
    new book();

    {
    System.out.println("这里是普通代码块B");
    }
    }
    static{
    System.out.println("这里是静态代码块");
    }
    }

    运行结果

    这里是静态代码块
    这里是普通代码块A
    这里是构造代码块//实例化时才创建 
    这里是构造代码块
    这里是普通代码块B



    静态代码块:每个静态代码块只会执行一次(类在内存中加载时执行,类在内存中加载后类已经存在)由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。如果类中包含多个静态代码块,那么将按照"先定义的代码先执行,后定义的代码后执行。

    构造块:(直接在类中定义)且没有加static关键字的代码块称为{}构造代码块。

    构造代码块在创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数。

    子类父类有继承关系

    class book {

    {
    System.out.println("这里是父类构造代码块");
    }


    static {
    System.out.println("这里是父类静态代码块");
    }
    }

    class Englishbook extends book {


    {
    System.out.println("这里是子类构造代码块");
    }
    static {
    System.out.println("这里是子类静态代码块");
    }


    public static void main(String[] args) {


    {
    System.out.println("这里是子类普通代码块");
    }


    new Englishbook();
    new Englishbook();


    }
    }

    结果

    这里是父类静态代码块
    这里是子类静态代码块
    这里是子类普通代码块
    这里是父类构造代码块
    这里是子类构造代码块
    这里是父类构造代码块
    这里是子类构造代码块

    简单总结:父类静态代码块初始化时执行一次,只要在类里面,方法外面都属于构造代码块,子类每次new都会调用父类的构造代码块,普通代码块按顺序执行。

    Ps实践是检验真理的唯一标准

    展开全文
  • welcome to my blog 折叠当前代码块ctrl - 展开当前代码块ctrl = 折叠所有代码块ctrl shift - 展开所有代码块ctrl shift +

    welcome to my blog

    展开

    展开当前代码块ctrl =

    彻底展开当前代码块ctrl alt =

    展开所有代码块ctrl shift +



    折叠

    折叠当前代码块ctrl -

    彻底折叠当前代码块ctrl alt -

    折叠所有代码块ctrl shift -

    展开全文
  • 1什么是代码块?? 答:代码块:在Java中用{}括起来的内容. 2:代码块的分类! (1)局部代码块 在类的局部位置 作用:限定当前变量的声明周期 *变量x在类中只使用一次, 用一个局部代码块,是为了在代码块...
  • Static静态代码块以及各代码块之间的执行顺序

    千次阅读 多人点赞 2019-10-16 19:56:49
    文章目录代码块的分类1、静态代码块(也叫静态块、静态初始化块)2、构造代码块(也叫构造初始化块)3、代码块(又叫普通代码块、初始化块)执行顺序的代码测试继承中各代码块的执行顺序 代码块的分类 基本上代码...
  • 在Java中,静态代码块、构造代码块、构造函数、普通代码块的执行顺序是一个笔试的考点,通过这篇文章希望大家能彻底了解它们之间的执行顺序。 回到顶部 1、静态代码块  ①、格式  在java类中(方法中不能...
  • java中静态代码块详解

    万次阅读 多人点赞 2019-04-17 18:05:42
    今天在项目中看到这行代码,静态代码块,很久没用静态代码块了,今天来复习一下, 依旧按照为什么?是什么?怎么用?的思想,去学习。 【为什么?】 先说说代码中为什么要使用这种写法吧, 还记得静态代码块的...
  • 除了说普通代码块,静态代码块,构造代码块的执行顺序外,还有静态方法,静态变量等,都放在一起的话,这个执行顺序,怎么确定。 我就实际弄个代码,看下执行顺序。 public class Line { static { System.out....
  • 在Java中存在代码块这一结构这一结构又主要分为普通代码块和初始化代码块两类。 一、普通代码块 普通代码块仅出现于方法中,起到分隔不同功能代码的作用,其运行顺序依据代码块出现的先后。 public static void main...
  • * 加了static的是静态代码块,在类中写了一对{}是构造代码块,在方法中写了一对{}是普通代码块, * java中还有一种代码块是同步代码块,常用在多线程中, synchronized关键字, * 同步代码块格式是:synchronized(同步...
  • Java中普通代码块,构造代码块,静态代码块区别及代码示例 //执行顺序:(优先级从高到低。)静态代码块>mian方法>构造代码块>构造方法。 其中静态代码块只执行一次。构造代码块在每次创建对象是都会执行。 1 ...
  • 内容大纲 一、静态代码块 ①、格式 ...在java类中(方法中不能存在静态代码块)使用static关键字和{}声明的代码块: public class CodeBlock { static{ System.out.println("静态代码块");...
  • 目录例子尝试用途 例子 以引用Markdown的数学公式为例。 ...这是个数学公式,但是想打出源代码(比如说想介绍一下这个代码的使用)的时候却不知道该怎么操作了。...其实有的人想到了,直接在外面...如何引用代码块符号?
  • * 代码块:在Java中,使用{}括起来的代码成为代码块 * 根据其位置和声明的不同,可以分为 * 局部代码块:局部位置,用于限定变量的生命周期 * 构造代码块:在类中的成员位置,用{}括起来的代码。每次调用构造...
  • java中有几种常见的代码块,那怎样区别他们呢? 这里就这些问题,浅谈下我个人的理解。 1.局部代码块 局部代码块,又叫普通代码块。它是作用在方法中的代码块。例如: public void show(){ {  System.out....
  • 代码块和静态代码块

    千次阅读 2013-11-30 14:57:36
    代码块: 是在创建对象期间执行的代码块。类似构造器,一般使用构造器代替代码块的功能。(优先于构造方法执行) 静态代码块: 在类加载期间执行的代码块, 只执行一次。有时候用于加载一次性资源, 如:背景图片   ...
  • 所谓的代码块是指使用“{}”括起来的一段代码,根据位置不同,代码块可以分为构造代码块、构造函数、静态代码块。 静态代码块:用staitc声明,jvm加载类时执行,仅执行一次 构造代码块:类中直接用 {} 定义,每一...
  • 执行优先级:静态代码块 > mian方法 > 构造代码块 > 构造方法 废话不多说,我们来介绍一下大家不经常接触到的静态代码块和构造代码块。1. 静态代码块随着类的加载而执行,只执行一次,并优先于主函数执行,是对类...
  • 根据它位置和声明的不同,我们可以将代码块分为局部代码块,构造代码块,静态代码块,同步代码块(多线程涉及)a. 局部代码块限定了变量的生命周期,变量在局部代码块中定义的,那么出来局部代码块之后,就访问不到了...
  • 静态代码块和普通代码块的区别

    千次阅读 2019-12-03 11:11:48
    static{}静态代码块与{}普通代码块之间的区别 //class A package com.my.test; class A { static { System.out.println("A1:父类静态代码区域"); } { System.out.println("A2:父类非静态代码...
  • 代码块与静态代码块

    万次阅读 2013-11-30 23:45:29
    * 代码块: 是在创建对象期间执行的代码块 * 静态代码块: 在类加载期间执行的代码块, 只执行一次 * 静态代码块: 有时候用于加载一次性资源, 如:背景图片 */ public class Demo03 { public static void main...
  • 静态代码块和构造代码块

    千次阅读 2014-06-19 02:32:45
    静态代码块和构造代码块的 所谓代码块是指使用“{}”括起来的一段代码。Java有四种代码块,分别是普通代码块(如方法后大括号中的代码)、构造代码块、静态代码块、同步代码块(与多线程数据安全有关)。 1....
  • java静态代码块与非静态代码块比较

    千次阅读 2018-10-23 00:20:45
    得出结论1:非静态代码块不会在调用方法与成员时执行.     结论2:非静态代码块在创建实例时...结论4:静态代码块优先非静态代码块优先构造函数,无论如何访问类(实例化,调用函数,成员),都会执行静态代码块 ...
  • 构造代码块与静态代码块1.构造代码块:每次创建对象时执行 2.静态代码块:JVM加载类(加载在运行之前)时执行,静态代码块只执行一次 3.public static B t1 = new B();也是静态代码块 4.执行顺序:静态代码块>...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 163,942
精华内容 65,576
关键字:

代码块