static静态变量

static静态变量是整个类共有的变量,不是某个对象所有,被类的所有对象共享。
例:

public class Demo {
static  String hobby="imooc";//创建静态变量
	public static void main(String[] args) {
		System.out.println("通过类名访问hobby"+Demo.hobby);
		Demo hello=new Demo();
		System.out.println("通过对象名访问hobby"+hello.hobby);
		hello.hobby="A";//使用对象名的形式修改hobby
}
}

用static修饰方法,成为静态方法,如上面例子中

public static void main(String[] args) {}
  1. 静态方法中可以直接调用同类中静态成员,但不能直接调用非静态成员。若想调用非静态成员,则可以创建对象,通过对象来访问非静态成员
  2. 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量
  3. 静态方法不能调用非静态方法,需要通过对象来访问非静态方法

初始化块定义:
在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用static修饰初始化块,就称为静态初始化块
静态初始化块:
静态初始化块只在类加载时执行,且只执行依次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量
程序执行顺序是:静态初始化块,初始化块,构造方法

初始化块:

{
num1=5;
System.out.println("通过初始化块为num1赋值");
}

静态初始化块:

static {
num2=6;
System.out.println("通过静态初始化块为num2赋值");
}

构造方法

public HelloWorld() {
num3=7;
System.out.println("通过构造方法为num3赋值");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值