Java static学习笔记

static的理解以及具体用法

static 意思是静态的

(1)对于static的个人理解:
在类加载的时候,会将静态的内容也加载到方法区的静态域中。(就是类创建后static关键字创建的也会被加载。)
静态的内容先于对象存在,这个静态内容被所有该类的对象共享。(就是说没创建对象之前这个静态的内容已经存在了。)
(2)官方推荐的访问属性的方式:
类名.属性名

static修饰属性总结

属性分为:
静态属性 又称(类变量)
非静态属性 又称(实例变量)
static 修饰属性的注意点:
一、在类加载的时候将静态属性一起加载入方法区中的 静态域 中
二、先于对象存在 就是 对象还没被创建的时候就已经被加载存在了
三、可以通过类名.属性 和 对象.属性 访问
四、这个静态的内容被所有该类的对象共享
static 修饰属性的用法:
一、某些特定的数据想要在内存中共享,这种情况下可以用static修饰
二、即某个属性每个类的对象都要求一样 例如:

package play;

public class People {
	int age;
	String name;
	static String school;
	double height;
	public People(){
		//定义一个空构造器
	}
	//定义一个有参构造器
	public People(int age,String name,double height){
		this.age = age;
		this.name = name;
		this.height = height;
	}
	
	public void eat(){
		System.out.println("吃饭 吃饭!");
	}
	
	public static void main(String[] args){
		People.school = "boai yizhong";
		People cc = new People(21, "小黄", 176);
		
		System.out.println(cc.name);
		System.out.println(cc.age);
		System.out.println(cc.school);
		
		People cc1 = new People(22, "小丑", 166);
		System.out.println(cc1.name);
		System.out.println(cc1.age);
		System.out.println(cc1.school);
	}
}


static修饰方法总结

package play;

public class Demo {
	//定义一个非静态的 和 静态的属性
	int id = 5;
	static int sid = 6;
	//定义一个非静态的 和 静态的方法
	public void a(){
		System.out.println(id);
		System.out.println(sid);
		System.out.println("a方法");
	}
	static public void b(){
		//静态的方法 只能访问静态的属性
		//静态的方法 不能用this关键字
		System.out.println(sid);
		System.out.println("b方法");
	}
	
	public static void main(String[] args){
		//创建一个Demo 的 对象 c
		Demo c = new Demo();
		//非静态的方法可以直接用对象名.方法名 去调用
		c.a();
		//静态的方法可以用对象名.方法名 也可以用 类名.方法名(推荐)
		c.a();
		Demo.b();
	}
	//在同一个类中可以直接使用b()调用
	
}

static修饰代码块

总结:(1)代码块执行顺序
最先执行静态块,只在类加载的时候执行一次,所以一般以后实战写项目:创建工厂 或者数据化初始化信息都放入静态块,一般都用于执行一些全局性的初始化操作。

再执行构造块(不常用)
再执行构造器
再执行方法中的普通块

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值