java代码块

java代码块

java 代码块:
局部代码块(定义在方法中的,用来限制变量的作用范围)
构造代码块(定义在类中方法外,用来给对象中的成员初始化赋值)
静态代码块(定义在类中方法外,用来给类的静态成员初始化赋值)

 

局部代码块(定义在方法中的,用来限制变量的作用范围)
局部代码块是定义在方法或语句中

以”{}”划定的代码区域,此时只需要关注作用域的不同即可
方法和类都是以代码块的方式划定边界的

class Demo{
	public static void main(String[] args)	{
		{
         		 int x = 1;
        		 System.out.println("普通代码块" + x);
		}
		int x = 99;
		System.out.println("代码块之外" + x);
	}
}

out:(输出结果)
		普通代码块1
		代码块之外99

构造代码块(定义在类中方法外,用来给对象中的成员初始化赋值)

构造代码块是定义在类中成员位置的代码块

  • 优先于构造方法执行,构造代码块用于执行所有对象均需要的初始化动作
  • 每创建一个对象均会执行一次构造代码块。
public class Person {
	private String name;
	private int age;
	
     //构造代码块
	{
		System.out.println("构造代码块执行了");
	}
	//无参构造函数
	Person(){
		System.out.println("Person无参数的构造函数执行");
	}
	//有参构造函数
	Person(int age){
		this.age = age;
		System.out.println("Person(age)参数的构造函数执行");
	}
}


class PersonDemo{
	public static void main(String[] args)	{
		Person p = new Person();
		Person p1 = new Person(23);
	}
}

 

静态代码块(定义在类中方法外,用来给类的静态成员初始化赋值)
静态代码块是定义在成员位置,使用static修饰的代码块。

它优先于主方法执行、优先于构造代码块执行,当以任意形式第一次使用到该类时执行。
该类不管创建多少对象,静态代码块只执行一次。
可用于给静态变量赋值,用来给类进行初始化

 

class Person{
	//构造代码块2
	{
		System.out.println("2构造代码块......");
	}
	
	//静态代码块1
	static {
		System.out.println("1静态代码块......");
	}
	
	//构造函数3
	Person(){
		System.out.println("3构造函数......");
	}
	void show(){
		int x = 9;
		
		//局部代码块4
		{
			System.out.println("4局部代码块......");
		}
	}
}

class BlockDemo{
	public static void main(String[] args){
			Person p = new Person();
			p.show();
			Person p2 = new Person();
			p2.show();
			Person p3 = new Person();
			p3.show();
	}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114834.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MySQL自增主键值回溯问题

    MySQL自增主键值回溯问题平时我们使用MySQL时,通常每一个表都会有一个自增主键ID,每新增一条数据,ID值就会自增1。但在8.0之前版本的MySQL中,这个自增值会存在一个回溯的问题。例如,在一个新表中插入三条主键为1、2、3的数据行,这时候用SHOWCREATETABLE命令查看该表的AUTO_INCREMENT的值是4,这是没问题的。然后把ID=3的数据行删掉,再次查询AUTO_INCREMENT的值,依然是4,这也是没问题的。但如果重启一下MySQL,这个值就会变回3,而不是4,发生了回溯。这是因为AUTO_I

    2022年6月16日
    75
  • <C语言>如何使用C语言代码打印“心形”图案?

    <C语言>如何使用C语言代码打印“心形”图案?作者:wsg时间;2017年8月14日//版本一:单个字符的心形图案#includeintmain(void){ floata,x,y; for(y=1.5f;y>-1.5f;y-=0.1f) { for(x=-1.5f;x<1.5f;x+=0.05f) { a=x*x+y*y-1; //这里的@符号即为打印出的心形图案符号,可更

    2022年7月26日
    6
  • 为什么要设置环境变量,设置环境变量的作用在哪里[通俗易懂]

    为什么要设置环境变量,设置环境变量的作用在哪里[通俗易懂]1、什么是环境变量引用百度百科里面的解释:环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。看到这里我相信大家可能还是有所疑惑,但是,不急,接着看。2、为什么需要环境变量windows系统下,假如我们安装了某一款软件,安装结束后,在安装目录会生成一个该软件的.exe文件,双击该文件,我们就能启动软件。但是难道我们每次要运行该软件的时候都要先找到该.e

    2025年6月28日
    0
  • python中创建列表的方法_python中readlines

    python中创建列表的方法_python中readlines创建python列表方法一:直接创建列表a=[1,2,3,4,5]print(a)/usr/local/bin/python3.8/Users/sataniya/PycharmProjects/demo/demo.py[1,2,3,4,5]方法二:使用list方法a=list(“hello”)print(a)/usr/local/bin/p…

    2022年8月31日
    0
  • Idea激活码最新教程2020.1.2版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2020.1.2版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2020 1 2 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2020 1 2 成功激活

    2025年5月23日
    0
  • 运算放大器工作原理

    运算放大器工作原理运算放大器工作原理作者:何富和时间:2015-03-22来源:电子产品世界  运算放大器基本上可以算得上是模拟电路的基本需要了解的电路之一,而要想更好用好运放,透彻地了解运算放大器工作原理是无可避免,但是运放攻略太多,那不妨来试试这篇用电路图作为主线的文章来带你领略运算放大器的工作原理吧。本文引用地址:http://www.eepw.com.cn/article/271351.htm1.运算放

    2022年4月28日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号