java 中static关键字
时间: 2024-01-15 15:25:45 浏览: 156
在 Java 中,static 是一个关键字,可以用来修饰类、方法和变量。它的作用是让这些元素与类本身关联,而不是与类的实例对象关联,因此可以直接通过类名来访问它们,而不需要先创建实例对象。
当 static 修饰类时,表示这个类是静态的,不能被实例化,也不能被继承。通常情况下,静态类主要用于实现一些工具方法或者常量的定义。
当 static 修饰方法时,表示这个方法是静态的,可以直接通过类名来调用,而不需要先创建实例对象。静态方法不能访问非静态成员变量和方法,只能访问静态成员变量和方法。
当 static 修饰变量时,表示这个变量是静态的,可以直接通过类名来访问,而不需要先创建实例对象。静态变量被所有实例对象所共享,它的值在所有实例对象中都是相同的。
相关问题
java final static
Java中的final和static关键字都是用来修饰变量的。
final关键字表示该变量的值不能被修改,即为常量。final变量必须在声明时进行初始化,一旦初始化后就不能再修改其值。
static关键字表示该变量为静态变量,即为类变量。静态变量属于类,而不属于类的任何一个实例。静态变量只会被初始化一次,且可以被所有实例共享。
final和static关键字可以同时用来修饰变量,表示该变量为常量且为类变量,即为静态常量。静态常量在类加载时被初始化,且只能被赋值一次。静态常量一般用来表示不变的常量,如Math.PI等。
java静态内部类
Java静态内部类是定义在另一个类的内部的静态类。它可以直接访问外部类的静态成员变量和方法,而不需要创建外部类的实例。静态内部类使用static关键字修饰,可以拥有自己的静态成员变量和方法。
静态内部类常用于实现单例模式。通过在外部类中定义一个私有的静态内部类,在该内部类中定义一个私有的静态常量来表示单例对象,通过getInstance方法获取该实例。这种方式在多线程环境下实现了懒加载,且保证了线程安全。
阅读全文