Java中的静态类详解及实例代码

  

<强>,Java中的静态类详解

  

Java中的类可以是静态吗?答案是可以在Java中。我们可以有静态实例变量、静态方法,静态块。类也可以是静态的。

  

,,,,java允许我们在一个类里面定义静态类。比如内部类(嵌套类)。把嵌套类封闭起来的类叫外部类。在java中,我们不能用静态修饰顶级类(顶级类)。只有内部类可以为静态的。

  

,,,,静态内部类和非静态内部类之间到底有什么不同呢?下面是两者间主要的不同。

  

,,,(1)内部静态类不需要有指向外部类的引用。但非静态内部类需要持有对外部类的引用。

  

,,,(2)非静态内部类能够访问外部类的静态和非静态成员。静态类不能访问外部类的非静态成员。他只能访问外部类的静态成员。

  

,,,(3)一个非静态内部类不能脱离外部类实体被创建,一个非静态内部类可以访问外部类的数据和方法,因为他就在外部类里面。

  

基于上面的讨论,我们可以通过这些特性让编程更简单,有效。

     /*下面程序演示如何在java中创建静态内部类和非静态内部类*/类OuterClass {   私有静态字符串味精=" GeeksForGeeks”;//静态内部类   公共静态类NestedStaticClass {//静态内部类只能访问外部类的静态成员   公共空间printMessage () {//试着将味精改成非静态的,这将导致编译错误   system . out。println(“从嵌套的静态类信息:”+味精);   }   }//非静态内部类   公开课InnerClass {//不管是静态方法还是非静态方法都可以在非静态内部类中访问   公共空间显示(){   system . out。println(“非静态嵌套类的消息是:”+味精);   }   }   }      类主要   {//怎么创建静态内部类和非静态内部类的实例   公共静态void main (String参数[]){//创建静态内部类的实例   OuterClass。NestedStaticClass打印机=new OuterClass.NestedStaticClass ();//创建静态内部类的非静态方法   printer.printMessage ();//为了创建非静态内部类,我们需要外部类的实例   OuterClass外=new OuterClass ();   OuterClass。InnerClass内在=外。新InnerClass ();//调用非静态内部类的非静态方法   inner.display ();//我们也可以结合以上步骤,一步创建的内部类实例   OuterClass。InnerClass innerObject=new OuterClass ()。新InnerClass ();//同样我们现在可以调用内部类方法   innerObject.display ();   }   }      之前      

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Java中的静态类详解及实例代码