java - 如何在不实例化外部类的情况下实例化内部类

标签 java android database class instantiation

我一直在关注this创建数据库的教程,有一个问题。它说“要访问您的数据库,请实例化 SQLiteOpenHelper 的子类: FeedReaderDbHelper mDbHelper = new FeedReaderDbHelper(getContext());"。但是如何在另一个类中实例化我的 FeedReaderDbHelper 类(在我的例子中是一个服务)而不实例化整个类FeedReaderContract 类,因为它说我应该避免实例化前一个类?在我的服务中我正在这样做:

FeedReaderContract.FeedReaderDbHelper mDbHelper = new FeedReaderContract().new FeedReaderDbHelper(mContext);

但是教程说这是禁止的。

最佳答案

如果您的内部类与外部类的实例关联,您将无法执行此操作。 IOW,如果您的内部类不是静态内部类,那么单独创建内部类确实没有意义,对吗?

另一方面,您可以将内部类更改为静态内部类。但如果这是您所需要的,您必须小心,因为您基本上是在说静态内部类不依赖于外部类的任何一个实例。

看看这个:https://stackoverflow.com/a/70358/2231632

关于java - 如何在不实例化外部类的情况下实例化内部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23412231/

相关文章:

android - 在 Ubuntu 上配置 apache ant 时出错

android - 如何在我的 Android 项目中将来自/res/values 的 xml 文件添加到我的 gitignore?

java - 如何使用 onclick 函数从 MYSQL 加载的 ListView 传递值?

xml - 如何将XML数据库导入HBASE

sql - 为大型 Web 应用程序选择什么数据库策略

java - Java 中 Optional<T> 的 GC 开销

java - Hibernate SessionFactory 与 EntityManagerFactory

java - 集合.sort : cannot convert from void to List

java - 崩溃保存按钮切换状态

针对不同键的 mySQL 查询