一篇文章带你了解Java静态方法中的static关键字和静态变量、静态方法),不使用static修饰的变量和方法分别称为实例变量和实例方法。二、静态变量1、什么是静态变量用static关键字修饰一个成员变量。该变量称为静态变量。2、比如有多个圆形物体,每个圆形物体都有自己的半径(radius)和圆周率(pi),因为pi是一个固定常数3.141596,而每个圆形物体都没有自己的。周长比(PI)是共享的,每个圆形物体的半径可能不同。3.如何使用静态变量例如://CircleclasspublicclassBall{publicdoubleradius;//CircleradiusstaticdoublePI=3.141956;//Circleradiuspublicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubBallb1=newBall();//创建第一个圆形物体Ballb2=newBall();//创建第二个圆形物体Ball.PI=3.141596;//静态变量赋值b1.radius=5;//赋值第一个圆形的半径b2.radius=8;//赋第一个圆的半径System.out.println("第一个圆对象的圆周率:"+b1.PI+""+"半径为:"+b1.radius);//打印圆周率第一个圆的圆周率和半径System.out.println("第二个圆对象的圆周率:"+b2.PI+""+"半径为:"+b2.radius);//打印圆周率和圆周率第二个圆}}输出结果为:第一个圆形物体的圆周率:3.141956半径:5.0第二个圆形物体的圆周率:3.141956半径:8.0上面代码中,在Ball类中定义了一个静态变量PI,用于代表pi,which是所有实例共享的,因为这个pi(PI)是一个静态变量,可以被Ball.PI直接调用,也可以被实例化对象b1.PI调用。第一个圆形对象和第二个圆形对象的PI属性均为3.141596。三、静态方法1、什么是静态方法静态变量和方法无需创建对象即可访问。静态方法在类定义方法前加static,称为静态方法。2、静态方法的访问格式与静态变量相同。班级名称。方法名3.静态方法的使用方法publicclassBall01{publicdoubleradius;//圆的半径publicstaticdoublePI=3.141596;//pi//角度转半径publicstaticdoubletoRadius(doubleangdeg){returnangdeg*(Ball01.PI/180);}publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub//Ball01b1=newBall01();//创建一个圆对象System.out.print(Ball01.toRadius(100));//调用该对象的静态方法}}输出结果为:1.745331111111111上述代码中,在Ball01类中定义了一个静态方法toRadius(),通过对象实例化调用对象的静态方法。静态方法只能访问静态修饰的成员,因为没有静态修饰的成员需要先创建对象才能访问,而静态方法调用不需要创建对象。四、静态代码块1、什么是静态代码块?静态代码块是将多行代码用花括号{}括起来,并用static关键字修饰的代码。2.在加载类时执行,并且只执行一次。一般使用静态代码块来初始化类成员变量。3.静态代码块和非静态代码块的写法静态代码块:静态代码块:static{}非静态代码块:{}4.静态代码块的使用方法例如:classPerson3{staticStringname;//静态代码块static{name="李华";System.out.println("类Person3的静态代码执行...");}}publicclasstest{//静态代码块static{System.out.println("Static测试类的代码执行...");}publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubPerson3p1=newPerson3();//创建第一个Person3对象Person3p2=newPerson3();//创建第二个Person3object}}run结果是:测试类的静态代码执行...Person3类的静态代码执行...我们从运行结果可以看出,两个静态代码块都执行了。首先是加载类test,在加载类的同时加载静态代码块,然后执行主程序main()。在main方法中创建两个Person3对象。两次实例化对象后,静态代码只执行一次,也就是说它是随着类的加载而执行的,而且只执行一次。五、小结本文主要介绍static关键字、静态变量、静态方法、静态代码块。用static修饰的变量和方法分别称为类变量和类方法,不用static修饰的变量和方法分别称为实例变量和实例方法。静态变量使用static关键字修饰成员变量。如何使用静态变量案例来理解这种用法??。静态方法就是在类的定义方法前加上static,通过一个案例帮助理解如何使用静态方法。静态代码块是将多行代码用花括号{}括起来并用static关键字修饰的代码。希望本文的学习对您有所帮助!本文转载自微信公众号《Java进阶学习交流》,可通过以下二维码关注。转载本文请联系Java进阶学习交流公众号。
