static关键字 - java关键字

static关键字

类的加载顺序

先按照声明顺序初始化基类静态变量和静态代码块,接着按照声明顺序初始化子类静态变量和静态代码块,而后按照声明顺序初始化基类普通变量和普通代码块,然后执行基类构造函数,接着按照声明顺序初始化子类普通变量和普通代码块,最后执行子类构造函数。

  • 基类静态变量和静态代码块
  • 子类静态变量和静态代码块
  • 基类普通变量和普通代码块
  • 基类构造函数
  • 子类普通通变量和普通代码块
  • 子类构造函数

1修饰成员变量成员方法

注意事项

  • 存储在方法区中(与java堆相相似)

2修饰静态代码块

注意事项

  • 静态代码块对于定义在它之后的静态变量,可以赋值,但是不能访问.
  • 随着类的加载而执行,只执行一次

3静态类

注意事项

  • 1只能在内部类中定义静态类
  • 2与外层类绑定,就算没有外部类也存在。
  • 3 只能调用外部的静态成员
  • 4如果内部类不是静态内部类,那么是不能有静态成员的

4静态导包

静态导包是 jdk1.5 提供的一种新的机制,使用方式为 import static packageName.className.* 或 import static packageName.className.methodName,其中 * 表示导入类的所有静态方法。静态导包后,当调用类的静态方法时,不需要加上类名。
作者:留兰香丶
来源:CSDN
原文:https://blog.csdn.net/codejas/article/details/82907083

demo

import static com.test.test1.Fu.Say;
import static com.test.test1.Fu.name;;
public static void Say()
	{
		System.out.println("aaaaaaa");
	}
public static String name="aaaaaa";
	
  • 直接引入了say方法和name静态变量。

使用原则

  • 只能说 import static 不能说 static import
  • 防止含糊不清的引入

猜你喜欢

转载自blog.csdn.net/qq_32726809/article/details/85229883