Java学习日记之11——Static关键字和代码块

Static关键字和代码块

  • Static关键字
    • Static关键字概述
    • Static关键字对成员变量的作用
    • Static关键字对成员方法的作用
    • Static关键字的注意事项:
  • 代码块
    • 代码块简述

Static关键字

Static关键字概述

Static是一个关键字,所以必须要小写,它用于修饰成员变量和方法。

Static关键字的特点:
1.Static被所有的对象所共享
2.用static修饰的成员方法与成员变量随着类的加载而加载,因此可以直接使用类名调用,不需要创建对象来调用。

Static关键字对成员变量的作用

为成员变量赋予统一的值
可以不用创建对象,直接对其进行赋值

public class StaticDemo {
	public static void main(String[] args) {
	//graduateFrom成员变量随着类的加载而加载,不需要创建对象即可对其进行使用。
		Person.graduateFrom = "哈工大";
		Person p =new Person();
		p.name = "小薛";
		p.age = "18";
		//p.graduateFrom = "哈工大";
		p.Speak();
		Person p2 = new Person();
		p2.name = "小陈";
		p2.age = "18";
		//p2.graduateFrom = "哈工大";
		p2.Speak();
		
	}
}
class Person{
	String name;
	String age;

	static String graduateFrom;
	public void Speak() {
		System.out.println(name+","+age+","+graduateFrom);
	}
}

Static关键字对成员方法的作用

使用static关键字修饰成员方法,可使成员方法绕过创建对象而使用,可以用来定义工具类。如math类

举例:

Math.PI
Math.ceil(1.2)
Math.floor(2.4)

Static关键字的注意事项:

静态的方法可以调用静态的成员变量和静态的方法,静态的成员变量没有赋值时,其值就为默认值,如String的默认值就是null,ing的默认值就是0,不能调用非静态的成员或方法。

非静态的方法可以调用非静态和静态的东西。
静态的方法没有this这个对象

静态方法随着类的加载而加载,而this随着对象的创建才出现。

代码块

代码块简述

代码块分为局部代码块,构造代码块和静态代码块

局部代码块在方法中,其作用时控制变量周期,

构造代码块在类中,对所有的代码块都其作用,每一次加载构造方法时,先加载构造代码块,再加载构造方法。

静态代码块,与构造代码块的位置一样,不过静态代码块是随着类的加载而加载,只加载一次。

你可能感兴趣的:(JAVA)