Java static关键字

Static关键字可用来修饰类的变量、方法和内部类。Static是静态的意思,也是全局的意思。它定义的东西属于全局和类相关,不与具体实例相关。也就是说它调用的时候,只是通过类名直接调用方法(ClassName.method()),而不是创建一个对象,再通过对象名调用方法(new ClassName().method())。一定要注意Static的变量、方法不可以通过对象来调用的。他与集体的实例无关。
代码实例:

//创建一个内部类
class Count {
//创建属性用户保存自增后的counter值
private int serialNumber;
//创建一个静态变量counter
public static int counter = 0;

public Count() {
// 创建Counter的时候递增
counter++;
serialNumber = counter;
}

public int getSerialNumber() {
return serialNumber;

}
}
//创建内部类
class OtherClass {
//increment方法中调用Static变量
public int increment() {
// 静态的变量不属于任何实例只能直接用类调用
return Count.counter++;
}
}

public class StaticTest {

public static void main(String[] args) {
//创建Count对象数组
Count[] cc = new Count[10];
//对象
OtherClass o = new OtherClass();
//循环数组长度
for (int i = 0; i < cc.length; i++) {
//将实例化的对象放入数组中
cc[i] = new Count();
//输出自增静态变量的值
System.out.println("cc[" + i + "].serialNumber = "
+ cc[i].getSerialNumber());
//输出调用静态变量自增后的值
System.out.println(o.increment());

}
}
}

类中的方法带有Static关键字,这个方法就是静态方法,静态方法也是通过类名直接调用,而不是对象名来调用。
代码实例:
class Test{
public static int addition(int x,int y){
return x+y;
}
}

public class StaticTest{
public static void main(String [] args){
System.out.println(Test.addition(1, 2));
}
}

子类不能重写父类的静态方法,也不能把父类不是静态的方法重写成静态方法。如果想隐藏父类的静态方法,在子类中声明和父类相同的方法就OK。
main()方法是什么意思?下面我们来解释下。main()方法的前面也有static关键字,则表示main()方法是静态的方法。他也是程序的入口(或者叫做主方法)。Java程序是又Java虚拟机执行的,Java语言和虚拟机的入口就是main()方法。因为main()方法是Static的,这可以使JVM不创建实例对象就可以运行该方法。因此我们在main()方法中调用别的类的静态方法,我们不需要创建对象;反之,如果不是静态方法则要通过实例化对象,再通过对象名来调用非静态方法。
static还可以用来修饰程序块 用{}括起来,这样我们称之静态块。用法与上述方法相同。
代码实例:
class StaticTest {
public static int count = 1;
// 创建静态块
static {
count = Integer.getInteger("xiongxiangjun").intValue();
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值