java的static方法,java中的static函数
00-1010前言静态修改成员变量静态成员变量的特征静态修改成员方法静态方法的特征
00-1010本文主要从静态修改的成员变量和静态修改的成员方法两个方面来解释静态。static成员变量的初始化将在代码块中解释。
00-1010在Java中,用static修饰的成员称为静态成员或类成员,它们不属于某个特定的对象,由所有对象共享。
例如:
动物类{字符串名称;int age静态字符串类型= Dog//构造方法public animal (string name,intage){ this . name=name;this.age=年龄;} public void set animal(){ system . out . println(this . name this . age type);} } public class test { public static void main(string[]args){ animal animal 1=新动物(小白,1);动物animal2=新动物(大黄,2);动物1。set animal();动物2。set animal();}}运行结果如下,所以:
我定义了一个animal类,它的成员变量有名字和年龄,一个被static修改的变量类型(kind),一个构造方法。我在主函数中创建了两个对象,都是狗。并使用构造方法给我创建的两个变量赋值。当我定义定义变量时,类型type被初始化,这被称为就地初始化。
注意:由s t a t i c修饰的成员变量并不总是初始化的 color { # ff0000 } {由static修饰的成员变量并不总是就地初始化}由static修饰的成员变量并不总是就地初始化。
在我们用static修饰完type之后,type就是一个静态成员变量,也叫类变量。不被static修改的成员变量称为普通成员变量。静态成员变量的一个特点是不属于object color{#FF0000}{不属于object}不属于object。
什么不属于物体?
也就是说,静态修改的变量是独立于对象的。例如:
动物类{字符串名称;int age静态字符串类型= Dog//构造方法public animal (string name,intage){ this . name=name;this.age=年龄;} public void set animal(){ system . out . println(this . name this . age type);} } public class test { public static void main(string[]args){ animal animal 1=新动物(小白,1);动物animal2=新动物(大黄,2);system . out . println(animal 1 . type);system . out . println(animal . type);}}还是上面的代码。我们都知道对象名。成员变量可以访问成员变量,而访问用static修饰的成员变量不需要创建对象,可以通过类名直接访问。静态成员变量。运行结果如图所示:
两次打印的结果都是Dog,所以static修饰的变量不属于对象,因为不需要创建对象就可以访问。如果你想访问被static修改的变量,建议你只使用类名。静态成员变量,不建议使用对象。用于访问的变量名。
00-1010不属于某个特定的对象,它是一个类的属性,由所有对象共享,不存储在某个对象的空间中。它可以通过对象或类名来访问,但是通常更推荐使用类名来访问类变量,它们存储在方法区域中。类的生命周期伴随着类的生命周期(也就是说,它随着类的装入而创建,随着类的卸载而销毁),并且可以不初始化。
如果就地初始化了如果没被final修饰也是可以通过方法进行修改的
static修饰的成员方法
static修饰的成员方法和成员变量一样 ,不属于对象。static修饰的成员方法也叫类方法。也就是说,如果我想调用static修饰的成员方法直接用 类名.成员方法 就可以了。举个例子:
class Animal{ String name; int age; static String type = "Dog"; public static void staticFunc(){ System.out.println("static修饰的成员方法"); }}public class Test { public static void main(String[] args) { Animal animal1 = new Animal("小白",1); Animal animal2 = new Animal("大黄",2); Animal.staticFunc(); }}
我们平时写的方法一般都是static修饰的,为什么要用static修饰我相信你的心里应该也有答案了。
因为static修饰的方法不属于对象,不需要创建对象就可以直接使用。你也可以把static修饰的成员方法看成我们平时写的方法,只不过这是个在不同的类里面定义的一个成员方法罢了。
static修饰的成员方法是不依赖于对象的方法,所以在static修饰的方法中,不能直接访问普通的成员变量,因为普通的成员方法是需要依赖对象的。如果不创建对象,直接在static中修饰的成员方法中访问普通成员变量是不可以的。如果想要在static中修饰的成员方法中访问成员变量,有两种方法,第一种是直接在static修饰的成员方法中创建一个对象,这样就可以访问了。第二种是把创建好的对象作为static修饰成员方法的形参,这样也可以直接访问。
静态方法特性
不属于某个具体的对象,是类方法可以通过对象调用,也可以通过类名.静态方法名(…)方式调用,更推荐使用后者不能在静态方法中访问任何非静态成员变量到此这篇关于Java深入讲解static操作符的文章就介绍到这了,更多相关Java static内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。