Java的static关键字
2021/12/3 1:37:30
本文主要是介绍Java的static关键字,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java的static关键字
/* static关键字得使用 1.static:静态的 2.static可以用来修饰:属性、方法、代码块、内部类 3.使用static修饰属性:静态变量(类变量) 3.1属性,按是否使用static修饰,又分为:静态属性vs非静态属性(实例变量) 实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中得非静态属性,当修改其中 一个对象中的非静态属性时,不会导致其他对象中同样的属性值修改 静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量。当通过 某一个对象修改静态变量时,会导致其他对象调用此静态变量时,是修改过了的 3.2static修饰属性的其他说明: 1、静态变量随着类的加载而加载,可以通过"类.静态变量"得方式进行调用 2、静态变量得加载要早于对象的创建 3、由于静态变量只加载一次,则静态变量在内存中也只会存在一份,存在方法区得静态域中 4、 类变量 实例变量 类 yes no 对象 yes yes 4.使用static修饰方法:静态方法 1、随着类的加载而加载,可以通过"类.静态方法"得方式进行调用 2、 静态方法 非静态方法 类 yes no 对象 yes yes 3、静态方法中,只能调用静态的方法或属性 非静态方法中,即可调用静态方法和属性,也可以调用非静态的方法和属性 4、static注意点: 4.1、在静态方法内,不能调用this关键字、super关键字 4.2、关于静态属性和静态方法得使用,大家从声明周期得角度去理解 */ public class StaticTest { public static void main(String[] args) { Chinese.nation="中国"; Chinese c1=new Chinese(); c1.name="张三"; c1.age=18; c1.nation="CHN"; Chinese c2=new Chinese(); c2.name="张三"; c2.age=30; c2.nation="China"; System.out.println(c1.nation);//CHN?China? //编译不通过 // Chinese.name="马六"; c1.eat(); Chinese.show(); //编译不通过 //Chinese.eat(); } } class Chinese{ String name; int age; static String nation; public void eat() { System.out.println("中国人吃饭"); //调用非静态结构 this.info(); //调用非静态结构 walk(); System.out.println("nation:"+this.nation); } public static void show(){ System.out.println("中国人不骗中国人"); //不能调用非静态的结构 // eat(); //可以调用静态结构 System.out.println(Chinese.nation); walk(); } public static void walk(){ System.out.println("人走路"); } public void info(){ System.out.println("人真聪明"); } }
这篇关于Java的static关键字的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?