【Java基础】常用关键字

Java 的关键字和保留字:
【Java基础】常用关键字_第1张图片

下面介绍一下常用的一些关键字

1. static 关键字

static 关键字可以用来修饰变量,方法、代码块和内部类,分别被称作静态变量,静态方法、静态代码块和静态内部类。

静态变量

private int a;			// 实例变量
private static int b;	// 静态变量

又被称作是类变量,是属于类本身的,类存在变量就存在,可以直接用过类名访问,也可以通过类的实例对象访问。

在类装载时,静态变量只被分配一块内存空间。

静态方法

public class StaticDemo {
    private static void staticMethod(){
        System.out.println("this is static method...");
    }
}

静态方法在类加载时就已经存在,它不依赖于任何实例,和静态变量一样。

所有的静态方法必须有实现,也就是说静态方法不能为抽象方法。

在静态方法中不能访问非静态方法和变量。

静态代码块

static {
}

静态代码块在类加载时执行,先于构造方法。

静态内部类

public class OuterClass {
    class InnerClass {
    }

    static class StaticInnerClass {
    }
    
    public static void main(String[] args) {
        // InnerClass innerClass = new InnerClass(); // 'OuterClass.this' cannot be referenced from a static context

        OuterClass outerClass = new OuterClass();
        InnerClass innerClass1 = outerClass.new InnerClass();
        StaticInnerClass staticInnerClass = new StaticInnerClass();
    }
}

在静态内部类中,不能访问外部类的非静态方法和变量。

初始化顺序

  • 父类(静态变量、静态代码块)
  • 子类(静态变量、静态代码块)
  • 父类(实例变量、普通代码块、构造方法)
  • 子类(实例变量、普通代码块、构造方法)

2. final 关键字

修饰变量

  • 对于基本数据类型,final 使值不可改变

  • 对于引用类型,final 使引用不可变,不可在引用其他对象,但是对象本身可以被修改。

修饰方法

final 修饰的方法不能被重写。

在 private 修饰的方法中,被隐式的指定为 final。

如果子类存在与父类中的 private 修饰的方法重名,子类不属于重写方法,只是定义了一个新的方法。

修饰类

final 修饰的类不可被继承。

你可能感兴趣的:(Java,基础)