Ⅰ java中static的用法
static可以修饰变量(属性)、方法、代码块和内部类
static属性:属于这个类所有,即由该类创建的所有对象共享同一个static属性。可以对象创建后通过对象名.属性名和类名.属性名两种方式来访问。也可以在没有创建任何对象之前通过类名.属性名的方式来访问。
static方法:也可以通过对象名.方法名和类名.方法名两种方式来访问
static代码块:当类被第一次使用时(可能是调用static属性和方法,或者创建其对象)执行静态代码块,且只被执行一次,主要作用是实现static属性的初始化。
static内部类:属于整个外部类,而不是属于外部类的每个对象。不能访问外部类的非静态成员(变量或者方法),.可以访问外部类的静态成员
Ⅱ Java中的静态方法是什么
静态方法是在类中使用staitc修饰的方法,在类定义的时候已经被装载和分配。
静态方法为类所有,可以通过对象来使用,也可以通过类来使用。
我们之前一直写的mian方法仔细看看,它就是一个静态方法,静态方法使用如下:
Ⅲ java中什么是静态方法
若类的方法前加了static关键字,则该方法称为静态方法,反之为实例方法。静态方法为类所有,可以通过对象来使用,也可以通过类来使用。但一般提倡通过类名来使用,因为静态方法只要定义了类,不必建立类的实例就可使用。静态方法只能调用静态变量。
Ⅳ java中static怎么用
static
属于全局,也就是类的属性
和方法,换句话说
一个类,不管有多少个实例,却只有一个全局变量
class
B
{static
int
a=0;}
B
b1=new
B();..................;B
bn=new
B();
b1~bn
都是类B的实例,每个实例都共享
变量a,a是全局变量,属于类B的属性,每个实例都能引用变量a,
加入执行b1.a=1;后
那么b2.a,b3.a,b4.a......bn.a
都等于1了,
static
方法也是类似的
需要注意的是
静态属性和方法属于类方法,加载类后,就已经存在静态属性和方法,实例是需要用new构造出来后
才会有引用
根据先后顺序,就有以下两条规则
1、非静态的方法可以调用静态的或者非静态的属性和方法;
2、静态的方法不可以调用非静态的属性和方法,因为非静态的还不一定存在,只能先构造出来后,再通过实例引用
例如
在main方法中
可以直接调用static
的方法,调用非static方法
需要先构造出类的实例,通过实例才能调用方法
Ⅳ java中static是什么意思,该怎么用
就是静态。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。static 成员的最常见的例子是main( ) 。因为在程序开始执行时必须调用main() ,所以它被声明为static。
声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共同拥有一个static变量。声明为static的方法有以下几条限制:
· 它们仅能调用其他的static 方法。
· 它们只能访问static数据。
· 它们不能以任何方式引用this 或super(关键字super 与继承有关)。
举例
如果你需要通过计算来初始化你的static变量,你可以声明一个static块,Static 块仅在该类被加载时执行一次。下面的例子显示的类有一个static方法,一些static变量,以及一个static 初始化块:
// Demonstrate static variables,methods,and blocks.
class UseStatic {
static int a = 3;
static int b;
static void meth(int x) {
System.out.println("x = " + x);
System.out.println("a = " + a);
System.out.println("b = " + b); }
static {
System.out.println("Static block initialized.");
b = a * 4; }
public static void main(String args[]) {
meth(42); }
}
一旦UseStatic 类被装载,所有的static语句被运行。首先,a被设置为3,接着static 块执行(打印一条消息),最后,b被初始化为a*4 或12。然后调用main(),main() 调用meth() ,把值42传递给x。3个println ( ) 语句引用两个static变量a和b,以及局部变量x 。 注意:在一个static 方法中引用任何实例变量都是非法的。
下面是该程序的输出:
Static block initialized.
x = 42
a = 3
b = 12
Ⅵ Java中static方法和普通方法的区别
static方法就是静态方法。
静态方法是类方法,类名即可引用。
普通方法是对象方法,需要实例化对象才可以引用
Ⅶ Java中static的作用
1.static 成员变量
在 Java 中还支持用 static 修饰的内部类,称为静态内部类。静态成员内部类的特点主要是它本身是类相关的内部类,所以它可以不依赖于外部类实例而被实例化。静态内部类不能访问其外部类的实例成员(包括普通的成员变量和方法),只能访问外部类的类成员(包括静态成员变量和静态方法)。即使是静态内部类的实例方法(非静态成员方法)也不能访问其外部类的实例成员。
Ⅷ 请问java语言中的static的用法
1)static方法
static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。
2)static变量
static变量也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。
3)static代码块
static关键字还有一个比较关键的作用就是 用来形成静态代码块以优化程序性能。static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。
Ⅸ java中static关键字的意义
1. static关键字 : 静态的意思。可以修饰成员变量和成员方法。
2. static关键字的特点
A : 随着类的加载而加载
B : 优先于对象存在
C : 被类的所有对象共享
这其实也是我们判断该不该使用静态的依据。
同一个班级的学生应该共用同一个班级编号。
饮水机 (用静态修饰)
水杯 (不能用静态修饰)
D : 可以通过类名调用
既可以通过对象名调用,也可以通过类名调用,建议通过类名调用。
3. static关键字的注意事项
A : 在静态方法中没有this关键字,如何理解呢 ?
静态是随着类的加载而加载,this是随着对象的创建而存在。
静态比对象先存在。
B : 静态只能访问静态。
静态方法只能访问静态的成员变量。
静态方法只能访问静态的成员方法。
非静态方法可以访问静态和非晶态的成员变量。
非静态方法可以访问静态和非晶态的成员方法。
4. 静态变量和成员变量的区别
A : 所属不同
静态变量:属于类,类变量
成员变量:属于对象,对象变量,实例变量
B : 内存位置不同
静态变量:方法区的静态区
成员变量:堆内存
C : 生命周期不同
静态变量:静态变量是随着类的加载而加载,随着类的消失而消失
成员变量:成员变量是随着对象的创建而存在,随着对象的消失而消失
D : 调用不同
静态变量:可以通过对象名调用,也可以通过类名调用
成员变量:只能通过对象名调用
Ⅹ java中,什么是静态方法
首先静态方法是用static来修饰的
静态方法就是可以不通过生成类的实例直接来调用的
举个简单的例子:
class
A
{
public
static
void
a()
{
System.out.println("A被调用");
}
public
void
b()
{
System.out.println("B被调用");
}
}
假设你要调用方法a和方法b
如果调用方法a可以直接A.a();就可以了
不需要先
A
aa
=
new
A();aa.a();
但是调用b则必须A
aa
=
new
A();aa.b();
还有在继承里面要注意:
如果B继承自A
而且B中和A中都包含相同的函数
如果是实例方法则是被B覆盖掉的
如果是静态方法则是被B隐藏掉的
这一点
在上溯机制中可能遇到
最后还有一点静态方法调用的方法一定也要是静态的