Java小白入门200例74之static关键字(静态变量和静态方法)

Posted 编程界明世隐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java小白入门200例74之static关键字(静态变量和静态方法)相关的知识,希望对你有一定的参考价值。

作者简介

作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!

引言

很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢?
其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大佬的路上一去不复返(切记要亲手练习哦)!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  73.Java注释的使用(类、方法、属性)
►下一篇待更新     

概述

在类中,使用 static 修饰符修饰的属性(成员变量)称为静态变量,也可以称为类变量,常量称为静态常量,方法称为静态方法或类方法,它们统称为静态成员,归整个类所有。

调用静态成员的语法形式如下:

类名.静态成员

静态变量和实例变量的区别

静态变量实例变量
运行时,Java 虚拟机只为静态变量分配一次内存,在加载类的过程中完成静态变量的内存分配每创建一个实例,Java 虚拟机就会为实例变量分配一次内存。
在类的内部,可以在任何方法内直接访问静态变量。在类的内部,可以在非静态方法中直接访问实例变量。
在其他类中,可以通过类名访问该类中的静态变量。在本类的静态方法或其他类中则需要通过类的实例对象进行访问。

静态变量的定义

public static int a = 10;

静态变量

直接使用静态变量

package demo.demo74;

public class StaticVar {
	//定义一个静态变量
	public static  int a = 10;
	
	public static void main(String[] args) {
		//直接方法 静态变量 a
		System.out.println(a);
	}
}

同一个类的方法直接使用

package demo.demo74;

public class StaticVar {
	//定义一个静态变量
	public static  int a = 10;
	
	public static void test(){
		//直接方法 静态变量 a
		System.out.println(a);
	}
	
	public static void main(String[] args) {
		//直接方法 静态变量 a
		//System.out.println(a);
		test();
	}
}

其他类使用静态属性

package demo.demo74;

public class TestStatic {

	public static void main(String[] args) {
		//其他类使用静态属性
		System.out.println(StaticVar.a);
	}
}

静态方法

与成员变量类似,成员方法也可以分为以下两种:

  1. 静态方法,指被 static 修饰的成员方法。
  2. 实例方法,指没有被 static 修饰的成员方法。

通过类名调用静态方法

package demo.demo74;

public class StaticVar {
	//定义一个静态变量
	public static  int a = 10;
	
	public static void test(){
		System.out.println("静态方法被调用");
	}
	
	public static void main(String[] args) {
		StaticVar.test();
	}
}


直接调用静态方法

package demo.demo74;

public class StaticVar {
	//定义一个静态变量
	public static  int a = 10;
	
	public static void test(){
		System.out.println("静态方法被调用");
	}
	
	public static void main(String[] args) {
		test();
	}
}

通过实例对象调用实例方法

package demo.demo74;

public class StaticVar {
	//定义一个静态变量
	public static  int a = 10;
	
	public static void test(){
		System.out.println("静态方法被调用");
	}
	
	public static void main(String[] args) {
		new StaticVar().test();
	}
}

区别

静态方法与实例方法的区别如下:

  1. 静态方法不需要通过它所属的类的任何实例就可以被调用,因此在静态方法中不能使用 this 关键字,也不能直接访问所属类的实例变量和实例方法,但是可以直接访问所属类的静态变量和静态方法。另外,和 this 关键字一样,super 关键字也与类的特定实例相关,所以在静态方法中也不能使用 super 关键字。
  2. 在实例方法中可以直接访问所属类的静态变量、静态方法、实例变量和实例方法。

小结

这节总结了“ static关键字 ”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。

评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!

导航

✪ Java小白入门200例系列目录索引
◄上一篇  73.Java注释的使用(类、方法、属性)
►下一篇待更新     

热门专栏推荐

1.Java小游戏系列(俄罗斯方块、飞机大战、植物大战僵尸等)
2.JavaWeb项目实战(图书管理、在线考试、宿舍管理系统等)
3.JavaScript精彩实例(飞机大战、扫雷、贪吃蛇、验证码等)
4.Java小白入门200例
5.从零学Java、趣学Java、以王者荣耀角度学Java

以上是关于Java小白入门200例74之static关键字(静态变量和静态方法)的主要内容,如果未能解决你的问题,请参考以下文章

Java小白入门200例70之 this关键字详解

Java小白入门200例83之Java super关键字详解

Java小白入门200例98之Java异常

Java小白入门200例95之Java匿名类

Java小白入门200例105之Java ArrayList类

Java小白入门200例107之Java LinkedList类