【Java面向对象】java学习之旅12-static关键词

static关键字的使用:

  1. 修饰成员变量:即为静态变量(类变量),所有的对象共享这个变量,可以用类名.属性调用之。
  2. 修饰成员方法:即为静态方法(类方法),所有的对象共享这个方法,可以用类名.方法调用之。
  3. 修饰代码块:即为静态代码块,本类被加载的时候会执行,并且只会执行一次。
  4. 修饰类:只能修饰内部类,即为静态内部类
  5. 修饰类的导入:类的静态导入,把目标类中的静态变量和静态方法导入为本类中的静态变量和静态方法。

注意:

  1. 普通方法可以直接使用静态方法、静态变量
  2. 静态方法不可以直接使用普通方法、普通变量
  3. 静态方法可以直接使用静态方法、静态变量

我们用一个女朋友类来简单说明这一点:

/**
 * 	女朋友类
 * @author junki
 * @date 2019年11月23日
 */
public class Girlfriend {
	
	static String name;
	private int age;
	private char sex;
	
	// 使用本类创建对象的使用执行一次,每次都会执行。
	{
		System.out.println("我是一个普通的代码块");
	}
	
	// 本类被加载的时候会执行,并且只会执行一次。
	static {
		System.out.println("我是一个静态的代码块");
	}
	
	public Girlfriend() {}
	
	public Girlfriend(String name, int age, char sex) {
		this.name = name;
		this.age = age;
		this.sex = sex;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public char getSex() {
		return sex;
	}

	public void setSex(char sex) {
		this.sex = sex;
	}

	@Override
	public String toString() {
		return "Girlfriend [name=" + name + ", age=" + age + ", sex=" + sex + "]";
	}
	
	public static void eat() {
		System.out.println("吃");
	}
	
}
public static void main(String[] args) {
		
		Girlfriend gf1 = new Girlfriend("阿文", 18, '男');
		
		Girlfriend.name = "阿文";
		gf1.name = "汪江佩";
		
		System.out.println(gf1.toString());
		
		gf1.eat();
		Girlfriend.eat();
		
	}
	
	// 静态内部类
	static class Boyfriend {
		public String name;
		public int age;
	}

拓展知识:自定义工具类jar包的导出:

  • 用static关键词自定义工具类,可以直接使用,可以用final修饰类名,防止被继承
  • 右键项目-> Export -> JAR file -> 选择地址-> 点击finish
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JeffHan^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值