首页 > 编程语言 >java代码块

java代码块

时间:2024-05-29 12:29:04浏览次数:25  
标签:java Demo 代码 System println public out

Java中的代码块

代码块分类

  • 静态代码块

  • 构造代码块

  • 局部代码块

构造代码块

怎么书写构造代码块
public class Demo{
    {
        //构造代码块,书写位置是类中方法外
    }
}
构造代码块执行特点和作用
  • 执行特点:会在每一个构造方法执行前执行一次

    public class Demo {
        {
            System.out.println("构造代码块内容");
            System.out.println("lalala");
        }
    
        public Demo(){
            //System.out.println("lalala");有参构造中也有该内用,重复内容,可以将改内容放入构造代码块
            System.out.println("无参构造");
        }
    
        public Demo(String s){
            //System.out.println("lalala");无参构造中也有该内用,重复内容,可以将改内容放入构造代码块
            System.out.println("有参构造");
        }
    }
    

    设置DemoTest进行测试:

    package study;
    
    public class DemoTest {
        public static void main(String[] args) {
            Demo demo = new Demo();
    
            //Demo demo1 = new Demo("测试");
        }
    }
    

    运行结果:

    在这里插入图片描述

  • 作用:

    如果每个构造方法中有重复逻辑时,可以将重复逻辑提取到构造代码块中

静态代码块(使用最多)

怎么书写静态代码块
public class Demo{
    static {
        //静态代码块,书写位置是类中方法外
    }
}
静态代码块执行特点和作用
  • 特点:随着类加载到内存,会执行一次。(类加载到方法区初始化的时候就会执行静态代码块)

    package study;
    
    import java.util.ArrayList;
    
    public class Demo {
        //定义一个集合
        private static ArrayList<String> list = new ArrayList<String>();
    
        //初始化静态数据
        static {
            System.out.println("静态代码块");
            list.add("西瓜");
            list.add("苹果");
            list.add("香蕉");
        }
    
        //根据集合下标获取数据
        public static String getData(int index){
            return list.get(index);
        }
    }
    
    

    设置测试类

    package study;
    
    public class DemoTest {
        public static void main(String[] args) {
            System.out.println(Demo.getData(1));
        }
    }
    

    执行结果:
    在这里插入图片描述

  • 作用:对静态数据进行初始化

局部代码块(使用不多)

怎么书写局部代码块
public void demo(){
    int x = 1;
    
    {
        //局部代码块
	}
}
作用和特点
  • 限定变量的作用域,在代码块执行完毕,及时释放内存

标签:java,Demo,代码,System,println,public,out
From: https://blog.csdn.net/weixin_63323754/article/details/139257730

相关文章

  • 梯度提升机器LightGBM集成学习回归、分类、参数调优可视化实例|附数据代码
    全文链接:https://tecdat.cn/?p=36275原文出处:拓端数据部落公众号LightGradientBoostedMachine(简称LightGBM)是一个开源库,它为梯度提升算法提供了高效且有效的实现。LightGBM通过添加一种自动特征选择的方式,并专注于提升具有较大梯度的样本,来扩展梯度提升算法。这可以显著加速......
  • java是什么?
    一、Java基础Java语言特性面向对象:Java是一种面向对象的编程语言,支持封装、继承和多态等OOP概念。跨平台性:Java程序通过Java虚拟机(JVM)实现跨平台运行。简单性:相较于C++,Java摒弃了复杂的指针和多重继承等概念,使学习更加容易。安全性:Java提供了丰富的安全特性,如内存管理和垃圾......
  • github源代码管理工具——使用介绍
    GitHub是一个面向开源及私有软件项目的在线代码托管平台,用户可以在GitHub上创建仓库(repository),将代码存储在仓库中,并与团队成员共享代码。并且提供了项目管理工具,如Issue跟踪、项目面板、里程碑、任务列表等,有助于团队项目的管理。除了Git代码仓库托管及基本的Web管理界面以外,还提......
  • 【Java】流程控制(条件语句、循环语句、分支语句和异常处理)
    1、简介流程控制是编程中非常重要的一部分,它决定了程序执行的顺序和逻辑。在Java中,有几种主要的流程控制结构,包括条件语句、循环语句、分支语句和异常处理。2、条件语句2.1简介条件语句用于根据某个条件是否成立来决定执行哪段代码。Java中最常用的条件语句是if语句,if-els......
  • 【Java】运算符
    1、简介在Java中,运算符是用于执行特定操作的符号。它们可以用于各种数据类型,并执行如算术运算、比较、逻辑运算、位运算以及赋值等操作。2、算术运算符2.1内容算术运算符用于执行常见的数学运算。+:加法-:减法*:乘法/:除法%:取余(模运算)++:自增(前置和后置)--:自减(前置和后置) 2.2......
  • Github——基于Git的代码托管平台
    Github是一个基于Git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。Github由ChrisWanstrath,PJHyett与TomPreston-Werner三位开发者在2008年4月创办。迄今拥有59名全职员工,主要提供基于git的版本托管服务。今天,GitHub已是:一个......
  • Java中的G1GC是如何工作的.18219565
    原文:HowG1GarbageCollectorworkinJava作者:PerspectiveMentorG1垃圾收集器采用了一个全新的垃圾收集方式,这让它在Java中的其它GC算法中鹤立鸡群。介绍G1(Garbage-First)是作为Parallel和CMS的替代者被引入到Java中的。它的设计目标是提供更加可预测的程序暂停时间,同时......
  • java的instanceOf问题
    在使用springboot+springsecurity开发项目时,使用了instanceOf判断是否属于某一个类,从而进行强转。但是今天在一个新的项目中加入security进行获取用户信息的时候发现一个问题。通过security的Authentication获取到的principal不属于同一个UserDetail 通过object.getClass......
  • 【Java】 如何在JUnit测试中断言抛出特定异常?
    >>【痕迹】QQ+微信朋友圈和聊天记录分析工具>>(1)纯Python语言实现,使用Flask后端,本地分析,不上传个人数据。>>(2)内含QQ、微信聊天记录保存到本地的方法,真正实现自己数据自己管理。>>(3)数据可视化分析QQ、微信聊天记录,提取某一天的聊天记录与大模型对话。>>**下载......
  • 【Java】 解决Java SSL握手异常:PKIX路径构建失败错误
    >>【痕迹】QQ+微信朋友圈和聊天记录分析工具>>(1)纯Python语言实现,使用Flask后端,本地分析,不上传个人数据。>>(2)内含QQ、微信聊天记录保存到本地的方法,真正实现自己数据自己管理。>>(3)数据可视化分析QQ、微信聊天记录,提取某一天的聊天记录与大模型对话。>>**下载......