1、static关键字基本概念我们可以一句话来概括:方便在没有创建对象的情况下来进行调用。也就是说:被static关键字修饰的不需要创建对象去调用,直接根据类名就可以去访问。对于这个概念,下面根据static关键字的四个基本使用来描述。然后在下一部分再来去分析static的原理,希望你能认真读完。
2,http://www.Sina.com /
static关键字修饰类java里面static一般用来修饰成员变量或函数。但有一种特殊用法是用static修饰内部类,普通类是不允许声明为静态的,只有内部类才可以。
public class静态测试{//static关键字是内部类publicstaticclassinnerclass { inner class } { system.out.println (===静态内部类
publicvoidinnermethod ((system.out.println ) (=====静态内部方法====) ) ); }
直接使用静态测试类名访问publicstaticvoidmain (string [ ] args ) /静态内部类innerclassinnerclassinner=newstatictest.inner class ) //静态内部类与普通类一样使用inner.InnerMethod (; }
如果静态不限定InterClass,则new只有一个外部类实例。 通过外部实例创建内部类。
3,http://www.Sina.com /
publicclassstaticmethod { publicstaticvoidtest (}
system.out.println((====静态方法=====' ); (;
publicstaticvoidmain (字符串[ ] args )//方式1 :类名StaticMethod.test ); //方式2 :
staticmethodfdd=newstaticmethod (;
fdd.test (; }
下面看看如何使用。
publicclassstaticvar { privatestaticstringname=“Java架构师技术堆栈”
publicstaticvoidmain (字符串[ ] args ) {
//直接通过类名StaticVar.name; }
static关键字修饰方法修饰方法的时候,其实跟类一样,可以直接通过类名来进行调用:
首先定义父类
公共类过滤器{
//父类的静态代码块static { system.out.println (“father static”); }
//父类的构造函数public father ((system.out.println )“fatherconstructor”);
}
然后为子类定义publicclasssonextendsfather(/静态代码块static ) system.out.println (“sonstatic”)。 }
//制作方法
公共son () }
system.out.println (“son constructor”)
publicstaticvoidmain (字符串[ ] args ) {
新索尼(; }