chapter04_Java基础知识_9_Java关键字

本文深入探讨Java中final、static关键字的多种用途,以及instanceof运算符的使用场景,通过具体示例讲解这些核心概念在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 使用冒号:可以定义标签,定义标签的作用是帮助break和continue跳出多层循环

    示例

      class Solution {
    
          public static void main(String[] args) {
    
              out:
              for (int i = 0; i < 3; i++) {
    
                  inner:
                  for (int j = 0; j < 3; j++) {
                      for (int k = 0; k < 3; k++) {
    
                          if (k%2 == 0) {
                              break out;
                          } else {
                              continue inner;
                          }
                      }
                  }
              }
          }
      }
    
  • final的用途

    (1) 修饰类的__字段__

    表示字段__引用不可变__(如果是基本变量,那么它的值不可以改变;如果是对象,那么它的地址不变,但是地址上的内容可以变)

    用final修饰的类的字段时,必须被显示初始化

    1° 静态变量和非静态变量都可以在定义时初始化

    2° 非静态变量可以在__初始化块__中 或 __构造函数__中初始化

    3° 静态变量可以在__静态初始化块__中初始化

    final修饰的字段还保证了初始化过程中的__内存可见性__

    (2) 修饰类的__方法__

    表示不可被派生类覆盖

    (3) 修饰函数的__参数__

    表示当前参数在函数内部__引用不可变__(如果是基本变量,那么它的值不可以改变;如果是对象,那么它的地址不变,但是地址上的内容可以变)

    (4) 修饰__类__

    表示一个类不能被派生(例如Integer、String、StringBuffer类)

    finally和abstract不能连用(因为一个要求不能被派生,一个要求必须有派生实现类,矛盾)

  • static的用途

    (1) 静态变量

    内存中只有一个复制

    (2) 静态方法

    只能访问所属类的静态成员变量和静态成员方法

    (3) 静态代码块

    只在类的初始化时__执行一次__

    (4) 静态内部类

    可以访问外部类的所有静态方法和静态成员变量(包括private)

    1° 只有内部类才可以用static修饰,外部类不可以

    2° static不能用于函数中定义局部变量(因为没有意义)

  • instanceof

    (1) 一个二元__运算符__

    (2) if (a instanceof B): a是一个对象的实例,instanceof代表判断a是否是B的一个实例,B可以是__接口、抽象类、类、数组__

    (3) 示例

    结果是TRUE

      class Super {
      }
    
      class Derived extends Super {
      }
    
      class Test {
    
          public static void main(String[] args) {
    
              Derived derived = new Derived();
    
              if (derived instanceof  Super) {
                  System.out.println("TRUE");
              } else {
                  System.out.println("FALSE");
              }
    
              int[] a = new int[2];
              if (a instanceof short[]) {
                  System.out.println("FALSE");
              }
          }
      }
    
  • strictfp

    (1) 可以修饰类、接口、方法

    (2) 作用是使得被修饰的类、接口、方法,在进行浮点数(float, double)运算时,会严格按照标准,不同的硬件平台上运行程序会有一致的结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值