java基础学习记录:9.2 static关键字

1、可以修饰属性

1.称为静态属性也叫做类的变量

2.在方法区(共享区)中存储,并且所有对象都可以访问

3.与类同生共死,类存在时static修饰的属性就存在

4.可以使用 类名.属性名称,也可以使用 引用名称.属性名称

   注:当引用名称的值为null时,也可以访问静态属性,不会出现空指针异常

5.类优先于对象,类的生命周期比较长

Student03类

public class Student03 {

	public Student03() {
		
	}
	
	public Student03(String name) {
		this.name = name;
	}

	String name;//非静态属性,实例变量
	
	static String address = "XX省XX市";//静态属性,类的变量
	
}

StudentTest03类

public class StudentTest03 {

	
	public static void main(String[] args) {

		System.out.println("Student03类直接调用:" + Student03.address);
		
		Student03 stu03 = new Student03("张三");
		System.out.println("引用名称调用:" + stu03.name);
		System.out.println("引用名称调用:" + stu03.address);
		
		stu03 = null;
		System.out.println("引用名称赋值为null时调用:" + stu03.address);

	}
	
}

输出结果为:


2、可以修饰方法

1.称为静态方法也叫做类的方法

2.在方法区(共享区)中存储,并且所有对象都可以访问

3.与类同生共死,类存在时static修饰的方法就存在

4.可以使用 类名.方法名称([参数列表]),也可以使用 引用名称.方法名称([参数列表])

   注:当引用名称的值为null时,也可以访问静态方法,不会出现空指针异常

5.静态方法只能访问静态属性、静态方法

6.当方法体中只能访问静态属性、静态方法时,可以编写为静态方法

Student04类

public class Student04 {

	public Student04() {
		
	}
	
	public Student04(String name) {
		this.name = name;
	}

	String name;//非静态属性,实例变量
	
	static String address = "XX省XX市";//静态属性,类的变量
	
	//静态方法,也叫类的方法
	public static void print01() {
		System.out.println("执行了print01方法");
		//System.out.println(name);静态方法中只能访问静态属性、静态方法
		System.out.println(address);
		print03();
	}
	public static void print03() {
		System.out.println("执行了print03方法");
		System.out.println(address);
		
	}
	//非静态方法,也叫实例方法
	public void print02() {
		System.out.println("执行了print02方法");
		print03();//非静态方法也可以调用静态方法
	}
	
}

StudentTest04类

public class StudentTest04 {

	
	public static void main(String[] args) {

		Student04.print01();
		System.out.println("分界线--------------------------------");
		Student04 stu04 = new Student04();
		stu04.print02();
		System.out.println("分界线--------------------------------");
		//当stu04引用名称赋值为null时,仍然可以调用静态方法
		stu04.print01();
		
	}
	
}

 输出结果为:


3、可以修饰代码块

1.主要完成对静态属性赋值

2.静态代码块在类第一次载入时被执行

static {
    String address = "XX省XX市";//静态属性,类的变量
	}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值