【从零开始学Java笔记】关键字Static

大家可以关注作者的账号,关注从零开始学Java笔记文集。也可以根据目录前往作者的博客园博客进行学习。本片文件将基于黑马程序员就业班视频进行学习以及资料的分享,并记录笔记和自己的看法。欢迎大家一起学习和讨论。

【从零开始学Java笔记】目录

什么是静态?
关键字:static

实例

public class StaticTest {
	public static void main(String[] args) {
		Shu s1 = new Shu();
		s1.name = "刘备";
		s1.address = "蜀国";
		Shu s2 = new Shu();
		s2. name  = "诸葛亮";
		s2.address = "蜀国";
		
		System.out.println(s1.name+s1.address);
		System.out.println(s2.name+s2.address);
	}

}

class Shu{
	String name;
	String address;
	
}

输出结果

刘备蜀国
诸葛亮蜀国

使用static关键字

public class StaticTest {
	public static void main(String[] args) {
        Shu.address = "蜀国";
		Shu s1 = new Shu();
		s1.name = "刘备";
//		s1.address = "蜀国";
		Shu s2 = new Shu();
		s2. name  = "诸葛亮";
//		s2.address = "蜀国";
		
		System.out.println(s1.name+s1.address);
		System.out.println(s2.name+s2.address);
	}

}

class Shu{
	String name;
	static String address;
	
}

输出结果

刘备蜀国
诸葛亮蜀国

被 static 修饰的成员属于类,不属于单个这个类的某个对象,被类中所有对象共享。可以通过类名调用,就像示例中的address一样,一旦被某个对象赋值,所有对象都拥有这个值。同时静态的加载优先于对象,是和类一起加载的。

static的注意事项

静态方法只能访问静态成员
非静态方法既可以访问静态也可以访问非静态
非静态方法中不可以定义静态变量
静态方法中不可以定义this,super关键字

static的优缺点

优点

  • 对对象的共享数据提供单独空间的存储,节省空间,没有必要每一个对象都存储一份
  • 可以直接被类名调用,不用在堆内存创建对象

缺点

  • 访问出现局限性。(静态虽好,但只能访问静态)

static的应用场景

实例:Math类
在使用java提供的Math类的方法时,不需要实例化,直接使用即可。他和调用的成员没有关系,不管谁调用,数学的运算方法都是一样的,这个也称为工具类。

posted @ 2020-04-07 22:52  朱李洛克  阅读(224)  评论(0编辑  收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css