代码块分类,定义位置,作用及特点;内部类概述及特点;Lambda表达式

本文详细介绍了Java中的代码块(局部、构造、静态代码块)、内部类(成员、局部、匿名)及其特点,并重点讲解了Lambda表达式的基本概念、使用格式、练习题以及注意事项。通过实例展示了Lambda在简化代码和提高开发效率方面的优势。
摘要由CSDN通过智能技术生成

一 代码块

1.代码块

  • 在java中,用{}括起来的代码称为代码块

  • 代码块的分类
    局部代码块
    构造代码块
    静态代码块

  • 局部代码块
    定义位置: 方法中
    作用: 限定变量的生命周期,及早释放,提高内存利用率
    示例代码

public class MethodCodeBlockDemo {
   
    public static void main(String[] args) {
   
        int a = 10;  //如果不加代码块,此时变量a是定义在方法中,在整个main方法中都是有效的
        System.out.println(a);

        {
   //独立存在的{}就是代码块
            int b = 20;
            System.out.println(b);
        }
    }
}

  • 构造代码块
    定义位置: 类中方法外
    特点: 每次构造方法执行时,都会执行该代码块中的代码,并且在构造方法执行前执行
    作用: 将多个构造方法中相同的代码,抽取到构造方法中,提高代码的复用性
    示例代码
public class ConstructorCodeBlockdDemo {
   
    public static void main(String[] args) {
   
        Student s = new Student();

        Student ss = new Student("zhangsan",23);
    }
}

class Student {
   
    private String name;
    private int age;

    //1.位置:方法外,类里面.
    //2.执行时机:优先于构造方法运行的.每一次创建对象的时候,都会先运行构造代码块,然后再执行构造方法
    //3.作用:抽取构造方法中重复的代码.
    {
   
        System.out.println("开始执行构造方法了");
    }

    public Student() {
   
    }

    public Student(String name, int age) {
   
        this.name = name;
        this.age = age;
    }

    public String getName() {
   
        return name;
    }

    public void setName(String name) {
   
        this.name = name;
    }

    public int getAge() {
   
        return age;
    }

    public void setAge(int age) {
   
        this.age = age;
    }
}
  • 静态代码块
    定义位置: 类中方法外
    特点: 需要通过static关键词修饰,随着类的加载而加载,并且只执行一次
    作用: 在类加载的时候做一些初始化的操作
    示例代码
public class StaticCodeBlockDemo {
   
    public static void main(String[] args) {
   
        Student s = new Student();

        Student ss = new Student("zhangsan",23);
    }
}

class Student {
   
    private String name;

    private int age;

    //1.位置:类中方法外
    //2.格式:一对大括号 + static关键字
    //3.执行时机:随着类的加载而加载,只执行一次.
    //4.作用:用来加载一些数据初始化操作的.
    static{
   
        //一般都是一些数据初始化的操作
        //一般是用来加载驱动的 --- 数据库
        System.out.println("静态代码块执行了");
    }


    public Student() 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值