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

简介: 1. finalfianl关键字的作用final代表最终的意思,可以修饰成员方法,成员变量,类final修饰类、方法、变量的效果fianl修饰类:该类不能被继承(不能有子类,但是可以有父类)final修饰方法:该方法不能被重写final修饰变量:表明该变量是一个常量,不能再次赋值

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类的带...........参数构造方法");
  }
}

相关文章
|
3月前
|
Java Apache Maven
Java百项管理之新闻管理系统 熟悉java语法——大学生作业 有源码!!!可运行!!!
文章提供了使用Apache POI库在Java中创建和读取Excel文件的详细代码示例,包括写入数据到Excel和从Excel读取数据的方法。
69 6
Java百项管理之新闻管理系统 熟悉java语法——大学生作业 有源码!!!可运行!!!
|
3月前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
本系列教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。若需快速学习Kotlin,建议查看“简洁”系列教程。本期重点介绍了Kotlin与Java的共存方式,包括属性、单例对象、默认参数方法、包方法、扩展方法以及内部类和成员的互操作性。通过这些内容,帮助你在项目中更好地结合使用这两种语言。
58 1
|
3月前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
42 2
|
1月前
|
Java
java do while 的语法怎么用?
java do while 的语法怎么用?
46 3
|
3月前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
本系列教程详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速学习Kotlin的用户,推荐查看“简洁”系列教程。本文档重点介绍了Kotlin与Java混编的技巧,包括代码转换、类调用、ProGuard问题、Android library开发建议以及在Kotlin和Java之间互相调用的方法。
52 1
|
3月前
|
安全 Java 编译器
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
本教程详细讲解Kotlin语法,适合希望深入了解Kotlin的开发者。若需快速入门,建议查阅“简洁”系列教程。本文重点探讨Kotlin与Java共存的高级话题,包括属性访问、空安全、泛型处理、同步机制及SAM转换等,助你在项目中逐步引入Kotlin。
34 1
|
3月前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
Kotlin语法笔记(28) -Kotlin 与 Java 混编
42 2
|
3月前
|
Java 程序员 编译器
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。本文通过示例详细解析了保留字的定义、作用及与自定义标识符的区别,帮助开发者避免因误用保留字而导致的编译错误,确保代码的正确性和可读性。
71 3
|
3月前
|
安全 Java 编译器
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
38 0
|
4月前
|
Java 数据安全/隐私保护
java之基本语法
java之基本语法
44 6