<强>,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中的静态类详解及实例代码