zoukankan      html  css  js  c++  java
  • java 嵌套类

    如果不需要内部类对象与其外围类对象之间有联系,那么可以将内部类声明为static,这通常称为嵌套类,想要理解static应用于内部类时的含义,就必须记住,普通的内部类对象隐式地保存了一个引用,指向它的外围类对象,然而,当内部类时static时,就不是这样了,嵌套类意味着:

    1)要创建嵌套类的对象,并不需要其外围类的对象

    2)不能从嵌套类的对象中访问非静态的外围类对象

    嵌套类与普通的内部类还有一个区别,普通内部类的字段与方法,只能放在类的外部层次上,所以普通的内部类不能有static数据和static字段,也不能包含嵌套类,但是嵌套类可以包含这些东西:

    //: innerclasses/Parcel11.java
    // Nested classes (static inner classes).
    package object;
    public class Parcel11 {
      private static class ParcelContents implements Contents {
        private int i = 11;
        public int value() { return i; }
      }
      protected static class ParcelDestination
      implements Destination {
        private String label;
        private ParcelDestination(String whereTo) {
          label = whereTo;
        }
        public String readLabel() { return label; }    
        // Nested classes can contain other static elements:
        public static void f() {}
        static int x = 10;
        static class AnotherLevel {
          public static void f() {}
          static int x = 10;
        }
      }
      public static Destination destination(String s) {
        return new ParcelDestination(s);
      }
      public static Contents contents() {
        return new ParcelContents();
      }
      public static void main(String[] args) {
        Contents c = contents();
        Destination d = destination("Tasmania");
      }
    } ///:~
  • 相关阅读:
    一种在【微服务体系】下的【参数配置神器】
    阅读源代码之“那是我的青春”
    我谈防御式编程
    博客开篇
    redis-sentinel-cluster-codis
    redis-复制
    redis-持久化
    redis-事件
    圆角矩形精度条
    小程序---canvas画图,生成分享图片,画图文字换行
  • 原文地址:https://www.cnblogs.com/jiangfeilong/p/10226998.html
Copyright © 2011-2022 走看看