Java 关键字介绍

    科技2024-02-01  100

    Java关键字介绍

    在网上查了好多资料,有些资料很是详细,有些只是记录给个人看的,没有一个系统的详细的介绍,因此就自己整了一篇整合版博客,大部分都是来源于网上,如有雷同,望见谅。

     

    一、final用法

    final的意思是最终的、不可修改的、见不得变化的,用来修饰变量、方法、类。

    1. 修饰变量

    修饰变量可以分为修饰基本类型变量、引用类型变量。

    修饰基本类型变量,数值一旦在初始化之后便不能更改;修饰引用类型时,对其初始化之后便不能让其指向另一个对象。如下图代码,首先idea会自动检测,导致赋值的变量会爆红,另外运行的时候会有相应的“无法为最终变量**分配值”提示。

    final int i = 0; final String str = "String"; @Test public void test1_FinalTest(){ i = 5; System.out.println(i); } @Test public void test2_FinalTest(){ str = "*******"; System.out.println(str); }

    2.修饰方法

    修饰方法可以分为修饰方法参数,以及修饰方法。

    修饰方法参数表示在整个方法中,参数的值不可以变化;修饰方法表示该方法不能被重写(覆盖)。如下面代码所示,赋值s 会导致编译器爆红,另外运行之后会报错“不能分配最终参数s”。

    @Test public void test3_FinalTest(){ test3(2); } private void test3(final int s) { s = 4; System.out.println(s); }

     

    3.修饰类

    final修饰的类不能被继承,且类中所有成员方法都会被隐式的指定为final方法。

    4. 注意

    实际开发中,应用最多的也就是修饰数据,定义常量用的最普遍。

     

    二、static 介绍

    * 修饰成员变量和成员方法 被 static 修饰的成员属于类,不属于单个这个类的某个对象,被类中所有对象共享,可以并且建议通过类名调用。 被static 声明的成员变量属于静态成员变量,静态变量 存放在 Java 内存区域的方法区。 调用格式:类名.静态变量名 类名.静态方法名() * 静态代码块 静态代码块定义在类中方法外, 静态代码块在非静态代码块之前执行(静态代码块—>非静态代码块—>构造方法)。 该类不管创建多少对象,静态代码块只执行一次。 * 静态内部类(static修饰类的话只能修饰内部类) 静态内部类与非静态内部类之间存在一个最大的区别: 非静态内部类在编译完成之后会隐含地保存着一个引用,该引用是指向创建它的外围类, 但是静态内部类却没有。没有这个引用就意味着:1. 它的创建是不需要依赖外围类的创建。2. 它不能使用任何外围类的非static成员变量和方法。 * 静态导包(用来导入类中的静态资源,1.5之后的新特性) 格式为:import static 这两个关键字连用可以指定导入某个类中的指定静态资源,并且不需要使用类名调用类中静态成员, 可以直接使用类中静态成员变量和成员方法。

     

     

    Processed: 0.012, SQL: 9