0
点赞
收藏
分享

微信扫一扫

【JavaSE】Java基础语法(十七)

酷子腿长一米八 2023-06-01 阅读 50

文章目录


在这里插入图片描述

1. final

  • fianl关键字的作用
    • final代表最终的意思,可以修饰成员方法,成员变量,类
  • final修饰类、方法、变量的效果
    • fianl修饰类:该类不能被继承(不能有子类,但是可以有父类)
    • final修饰方法:该方法不能被重写
    • final修饰变量:表明该变量是一个常量,不能再次赋值
      • 变量是基本类型,不能改变的是值
      • 变量是引用类型,不能改变的是地址值,但地址里面的内容是可以改变的
      • 举例
      public static void main(String[] args){
      	final Student s = new Student(23);
      	s = new Student(24); // 错误
      	s.setAge(24); // 正确
      }
      

2. 代码块

2.1 代码块概述


在Java中,使用 { } 括起来的代码被称为代码块


2.2 代码块分类

  • 局部代码块

    • 位置: 方法中定义
    • 作用: 限定变量的生命周期,及早释放,提高内存利用率
    • 示例代码
    public class Test {
    	/*
    		局部代码块
    		位置:方法中定义
    		作用:限定变量的生命周期,及早释放,提高内存利用率
    	*/
    	public static void main(String[] args) {
    		{
    			int a = 10;
    			System.out.println(a);
    		}
    		// System.out.println(a);
    	}
    }
    
  • 构造代码块

    • 位置: 类中方法外定义
    • 特点: 每次构造方法执行的时,都会执行该代码块中的代码,并且在构造方法执行前执行
    • 作用: 将多个构造方法中相同的代码,抽取到构造代码块中,提高代码的复用性
    • 示例代码
    public class Test {
    	/*
    		构造代码块:
    		位置:类中方法外定义
    		特点:每次构造方法执行的时,都会执行该代码块中的代码,并且在构造方法执行
    		前执行
    		作用:将多个构造方法中相同的代码,抽取到构造代码块中,提高代码的复用性
    	*/
    	public static void main(String[] args) {
    		Student stu1 = new Student();
    		Student stu2 = new Student(10);
    	}
    }
    
    class Student {
    	{
    		System.out.println("好好学习");
    	}
    	public Student(){
    		System.out.println("空参数构造方法");
    	}
    	public Student(int a){
    		System.out.println("带参数构造方法...........");
    	}
    }
    

  • 静态代码块
    • 位置: 类中方法外定义
    • 特点: 需要通过static关键字修饰,随着类的加载而加载,并且只执行一次
    • 作用: 在类加载的时候做一些数据初始化的操作
    • 示例代码
    public class Test {
    	/*
    	静态代码块:
    		位置:类中方法外定义
    		特点:需要通过static关键字修饰,随着类的加载而加载,并且只执行一次
    		作用:在类加载的时候做一些数据初始化的操作
    	*/
    	public static void main(String[] args) {
    		Person p1 = new Person();
    		Person p2 = new Person(10);
    	}
    }
    
    class Person {
    	static {
    		System.out.println("我是静态代码块, 我执行了");
    	}
    	
    	public Person(){
    		System.out.println("我是Person类的空参数构造方法");
    	}
    	
    	public Person(int a){
    		System.out.println("我是Person类的带...........参数构造方法");
    	}
    }
    


在这里插入图片描述

举报

相关推荐

0 条评论