java—05 static和this

本文主要介绍了Java中的static关键字和this关键字的使用。static用于修饰共享属性,减少代码量并节省空间,可以通过类名直接访问。而this代表当前对象的引用,主要用于区分成员变量和局部变量,但在静态方法中不可使用。文章还提到了实例代码块和静态代码块的执行顺序。
摘要由CSDN通过智能技术生成

一、static

1. static的使用

public class StaticTest {
   

	public static void main(String[] args) {
   
		CStudent stu1 = new CStudent(18,"小六");
		CStudent stu2 = new CStudent(20,"小牛");
		
		System.out.println(stu1);//18的小六,from Chinese
		System.out.println(stu2);//20的小牛,from Chinese
	}
}
class CStudent {
   
	private int age;
	private String name;
	private static String address = "Chinese"; //一样的地方,用static修饰
   
   //构造方法
	 public CStudent() {
   }
	 
	 public CStudent(int age,String name) {
   
		 this.age = age;
		 this.name = name;
	 }
	 //get、set方法
	public void setAge(int age) {
   
		this.age = age;
	}
	public int getAge() {
   
		return age;
	}
	public String getName() {
   
		return name;
	}
	public void setName(String name) {
   
		this.name = name;
	}
	//tostring方法
	public String toString() {
   
		return getAge() + "的"+getName() + ",from " + CStudent.address;
	} 
}

使用static关键字修饰变量:

  • 当类中所产生的对象的属性都拥有相同的值,这样的变量我们需要用static修饰,减少代码量,节省空间。
  • 因为它是类级别的,我们使用类名.变量名来访问,如 CStudent.address。
  • 静态变量存在于方法区内存中,在类加载的时候就存在了,先赋值,main()方法后执行。

2. 静态代码块

类完整的内容: 成员属性/静态属性 + 成员方法/静态方法 + 构造方法

public class StaticTest {
   
	报错:Cannot make a static reference to the non-static field i,无法从静态上下文中引用非静态变量 i
	private int i = 100;	
	
	静态代码块:
	static {
   
		System.out.println(i);
		Java语句;
	}
	
}

成员属性只有当构造方法执行的时候才会第一次被赋值。构造方法只有在main方法执行之后,才会被执行。main方法压栈是在类加载完成之后才压栈。
在这里插入图片描述

public class StaticTest
{
   
	private int i = 100;
	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值