【问题标题】:Why use Static Inner Class in Android Settings SettingsActivity为什么在 Android 设置 SettingsActivity 中使用静态内部类
【发布时间】:2023-03-20 14:53:01
【问题描述】:

当我在 Android 中阅读设置源代码时,我发现了这段代码

public class Settings extends SettingsActivity {
    /*
    * Settings subclasses for launching independently.
    */
    public static class BluetoothSettingsActivity extends SettingsActivity { /* empty */ }
    public static class WirelessSettingsActivity extends SettingsActivity { /* empty */ }
    public static class SimSettingsActivity extends SettingsActivity { /* empty */ }
    public static class TetherSettingsActivity extends SettingsActivity { /* empty */ }
    ...
}

谁能告诉我这样做有什么好处?我们可以直接使用 SettingsActivity 吗?

【问题讨论】:

    标签: java android


    【解决方案1】:

    在大多数情况下,它只是一种命名空间技术。这些示例功能相同,只是B 的用法不同。

    public class A { // class A
        public static class B { // class A.B
    
        }
    }
    

    public class A { // class A
    
    }
    
    public class B { // class B
    
    }
    

    public static 内部类的行为与非嵌套类完全相同。您只需要先让外部类访问内部类,例如:

    new Settings.BluetoothSettingsActivity()
    

    如果没有指定static,那么会有很大的不同。见this question

    【讨论】:

      猜你喜欢
      • 2013-04-15
      • 1970-01-01
      • 1970-01-01
      • 2021-10-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-16
      • 1970-01-01
      • 2013-05-07
      相关资源
      最近更新 更多