java - 在不使用 protected 的情况下处理抽象类的正确方法是什么?

标签 java android abstract-class protected

例如:

public abstract class SomeBaseClass extends Fragment {
   protected static final String INT_TAG = "int_tag";
   protected int someInt;

   //...
}

public class ChildClass extends SomeBaseClass {
    public static ChildClass newInstance(int argInt) {
        Bundle args = new Bundle();
        bundle.putInt(INT_TAG, argInt);
        ChildClass fragment = new ChildClass();
        fragment.setArgs(args);
        return fragment;
    }

    public void onCreate() {
        someInt = getArguments().getInt(INT_TAG);
    }

    //...
}

但是我听说由于某种原因在抽象类中使用 protected 变量是一个坏主意(我不知道为什么)。还有什么选择?

最佳答案

访问 protected 属性是一个坏主意,因为它破坏了封装,使您的强耦合。尽管如此,您仍然可以使用 getter 和 setter 访问 protected 字段。

References

关于java - 在不使用 protected 的情况下处理抽象类的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40730238/

相关文章:

java - 安装 Jedis 的问题(执行 jar 文件时)

java - 如何在 Android 上管理位图的内存?

java - 只读取大文件的一行以避免内存问题的最佳方法是什么?

android - 将 Junit4 测试迁移到 androidx : What causes 'delegate runner could not be loaded' ?

c++ - 抽象类 C++ 中的变量

c# - C# 中的抽象类和接口(interface)类有什么区别?

java - 在二维数组中生成随机数

javascript - 小屏幕 float 内容/额外宽度

java - 我想比较用户名是否存在于数据库中

python - Django 模型抽象基类 - 它们可以跨应用程序扩展吗?