下面通过四个方面对static关键字的作用做以简单的说明,话不多说,直接上代码:
package com.hzyc.Class;
public class Assert {
public static int staticInt=0;
public int nonStaticInt=0;
public static void main(String[] args) {
Assert t= new Assert();
System.out.println("t.staticInt="+t.staticInt);
System.out.println("Assert.stsicInt="+Assert.staticInt);
System.out.println("t.nonStaticInt="+t.nonStaticInt);
System.out.println("对静态变量和实例变量分别+1");
t.nonStaticInt++;
Assert.staticInt++;
t.staticInt++;
Assert t1= new Assert();
System.out.println("t1.staticInt="+t1.staticInt);
System.out.println("Assert.stsicInt="+Assert.staticInt);
System.out.println("t1.nonStaticInt="+t1.nonStaticInt);
}
}
class Singleton{
private static Singleton instance=null;
private Singleton(){};
public static Singleton getInstance() {
if(instance==null) {
instance=new Singleton();
}
return instance;
}
}
class Test1{
private static int a;
static {
Test1.a=4;
System.out.println(a);
System.out.println("static block is called");
}
public static void main(String[] args) {
}
}
class Outer{
static int n=5;
static class inner{
void acessAttrFromOuter(){
System.out.println("Inner:Outer.n="+n);
}
}
public static void main(String[] args) {
Outer.inner nest = new Outer.inner();
nest.acessAttrFromOuter();
}
}