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");
      }
    } ///:~
  • 相关阅读:
    Flutter 开发环境搭建
    swift 如何控制view的显示与隐藏
    TextView textSize 文字大小
    Android项目增加混淆
    Android EditText 无法换行
    Android 6.0 新特性 整理 资料来自网络
    java线程中的sleep/wait/notify/yield/interrupt方法 整理
    java 抽象类与接口的区别 整理
    android 系统架构
    android handler工作原理
  • 原文地址:https://www.cnblogs.com/jiangfeilong/p/10226998.html
Copyright © 2011-2022 走看看