java中静态类与普通类有什么不同呢?

java-经验王 Java经验 发布时间:2021-11-10 09:07:49 阅读数:6089 1
下文笔者讲述Java代码中静态类和普通类的不同之处,如下所示:
静态类:使用static关键字修饰的,包括类,方法,块,字段
非静态:没有使用static关键字修饰

静态类的特点

  1. 全局唯一,任何一次的修改都是全局性的影响
  2. 只加载一次,优先于非静态
  3. 使用方式上不依赖于实例对象
  4. 生命周期属于类级别,从JVM 加载开始到JVM卸载结束
静态类和非静态类之间的区别
   内部静态类不需要有指向外部类的引用
   但非静态内部类需要持有对外部类的引用
   非静态内部类能够访问外部类的静态和非静态成员
   
   静态类不能访问外部类的非静态成员
   他只能访问外部类的静态成员
      一个非静态内部类不能脱离外部类实体被创建
      一个非静态内部类可以访问外部类的数据和方法
    因为他就在外部类里面
例:
package com.java265.other;
public class TestClass {
    /**
     *  全局静态变量
     */
    private static final String msg = "java265.com";
     // 创建静态类
    public static class staticInnerClass{
         public void showMsg() {
             System.out.println("静态内部类展示信息:"+msg);
         }
    }
    // 创建非静态内部类
    public class InnerClass{
        public void disPlayMsg() {
            System.out.println("非静态内部类展示信息:"+msg);
        }
    }
    public static void main(String[] args) {
        // 创建静态内部类实例
        staticInnerClass sic = new TestClass.staticInnerClass();
        sic.showMsg();

        // 创建非静态内部类实例,需要先创建外部类的实例 TestClass().new
        InnerClass ic = new TestClass().new InnerClass();
        ic.disPlayMsg();
    }
}
静态类不用先创建外部类
可以静态类看做外部类的静态变量
使用就不要外部类实例 
 而非静态就必须先实例化
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202111/16365065131711.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者