java - Java中的内部类与公共内部类
问题描述
我意识到内部类可以声明为公共的。公共内部类的实际用例是什么?它们与没有公共关键字声明的内部类有何不同?
public class OuterClass{
class InnerClass{
}
}
public class OuterClass{
public class InnerClass{
}
}
解决方案
不同之处在于通过方法/构造函数传递实例时。
这是一些代码来说明我的意思。
com.test.OutterClass 类。
package com.test;
public class OutterClass {
// public class
public class InnerClass {
}
// not public class
class InnerClass1 {
}
}
com.test2.TestClass 类
package com.test2;
public class TestClass {
// Works, because OutterClass.InnerClass is public.
TestClass(OutterClass.InnerClass t) {
}
// Doesn't work because OutterClass.InnerClass1 is not public.
TestClass(OutterClass.InnerClass1 t) {
}
}
推荐阅读
- java - 如何向特定客户端发送有针对性的推送通知?
- html - 探索 Webscraping 中的 Instr VBA 函数
- excel - Excel VBA,运行时错误“-2147417848 (80010108)”:对象“范围”的方法“插入”失败
- python - 无法在 xarray DataArray 中使用 numpy.isin 函数
- c - 全局 SDL_Renderer* 在函数调用时发生变化
- excel-formula - 如何使用公式在字母前添加空格
- php - PHP Docker 映像安装事件扩展失败
- dask - 如何在 dask 数据帧中按移位乘法进行分组
- google-sheets - 无法读取来自 Google 表格的 Bigquery 表(誓言/范围错误)
- c++ - 使用 nlohmann json 在文件中保存 json 数据时获取空值