博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java静态与非静态区别
阅读量:6142 次
发布时间:2019-06-21

本文共 1521 字,大约阅读时间需要 5 分钟。

这里的静态,指以static关键字修饰的,包括类,方法,块,字段。

非静态,指没有用static 修饰的。

静态有一些特点:

1.全局唯一,任何一次的修改都是全局性的影响

2.只加载一次,优先于非静态

3.使用方式上不依赖于实例对象。

4.生命周期属于类级别,从JVM 加载开始到JVM卸载结束。

可参考 :http://blog.csdn.net/zhandoushi1982/article/details/8453522/。

 

关于静态内部类(嵌套类)和非静态内部类的区别,可参考:

http://www.jb51.net/article/74838.htm

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

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

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

/* 下面程序演示如何在java中创建静态内部类和非静态内部类 */class OuterClass{  private static String msg = "GeeksForGeeks";  // 静态内部类  public static class NestedStaticClass{    // 静态内部类只能访问外部类的静态成员    public void printMessage() {     // 试着将msg改成非静态的,这将导致编译错误      System.out.println("Message from nested static class: " + msg);     }  }  // 非静态内部类  public class InnerClass{    // 不管是静态方法还是非静态方法都可以在非静态内部类中访问    public void display(){     System.out.println("Message from non-static nested class: "+ msg);    }  }} class Main{  // 怎么创建静态内部类和非静态内部类的实例  public static void main(String args[]){    // 创建静态内部类的实例    OuterClass.NestedStaticClass printer = new OuterClass.NestedStaticClass();    // 创建静态内部类的非静态方法    printer.printMessage();      // 为了创建非静态内部类,我们需要外部类的实例    OuterClass outer = new OuterClass();        OuterClass.InnerClass inner = outer.new InnerClass();    // 调用非静态内部类的非静态方法    inner.display();    // 我们也可以结合以上步骤,一步创建的内部类实例    OuterClass.InnerClass innerObject = new OuterClass().new InnerClass();    // 同样我们现在可以调用内部类方法    innerObject.display();  }}

 

转载于:https://www.cnblogs.com/itdev/p/5665531.html

你可能感兴趣的文章
分布式锁 基于Redis
查看>>
struts2 <s:iterator> status属性
查看>>
决策树(决策树的分支深度及重要特征检测)
查看>>
js实现的省市联动
查看>>
每天一个linux命令(16):which
查看>>
Unity3D 之3D游戏入门Hello world(一)
查看>>
网络架构、云平台和微信公众平台开发接入
查看>>
.NET软件开发与常用工具清单(转)
查看>>
windows装了双系统设置默认启动系统
查看>>
数据本地化之文件操作
查看>>
Linux下的网络管理工具—OpenNMS
查看>>
Java 8 VM GC Tuning Guide Charter2
查看>>
子网掩码与子网划分
查看>>
Android访问网络数据的几种方式Demo
查看>>
Spring-AOP
查看>>
转】用Maven构建Hadoop项目
查看>>
SAP自定义权限对象
查看>>
Guava 12-数学运算
查看>>
windows 下搭建简易nginx+PHP环境
查看>>
python 局部变量和全局变量 global
查看>>