java - 如何不扩展 Java 中的 Object 类?
问题描述
默认情况下,Java 中的每个类都扩展了Object
该类。(所以总是发生单继承)
有没有不扩展 Object 类的类?(例如 int 可能是类 int 的一个实例,但不是一个对象)
我们可以以某种方式创建自己的不扩展类Object
吗?也许通过修改javac
最终代码不扩展 Object 类,或者创建我们自己的类来超越 object 类的构造函数至少避免异常行为的事情?
解决方案
int
是一个原始的,因此我们不能说它扩展了任何东西。
当涉及到你的问题时:
有没有不扩展 Object 类的类?
你已经回答了上面的字面意思:
Java 中的每个类都扩展了 Object 类
PS:我们不能说存在双重继承,因为一个类 extendsObject
和另一个类,因为那个“其他类”也 extends Object
。实际上,类是其所有超类型的子类型,例如:
HashMap m = new LinkedHashMap();
AbstractMap m = new LinkedHashMap();
Object m = new LinkedHashMap();
为简洁起见省略类型参数。
编辑:参考关于什么是对象和什么不是对象的讨论,JLS §4.3.1给出了答案:
对象是类实例或数组。
推荐阅读
- ios - 如何使用预处理器标志 MIXPANEL_RANDOM_DISTINCT_ID=1 设置 Mixpanel / Swift SDK
- dns - FAILED_NOT_VISIBLE 错误 Google 管理的 ssl 证书,用于通过 Google 存储和负载平衡托管静态子域网站
- angular-reactive-forms - 如何在 Angular 中将 formControlName 值与 *ngFor 绑定
- html - 将带有html标签的列值转换为带有行和列的sql视图
- c# - Schannel 协议注册表设置覆盖 ServicePointManager.SecurityProtocol 值?
- c# - 针对某些请求的客户端证书身份验证
- javascript - 反应公用文件夹脚本
- json - Cloudformation 列表和字符串 :: 属性 SecurityGroupIds 的值必须是字符串列表类型
- python - 在python中带有一些和&或的函数的快捷方式
- javascript - 使用 Html Javascript PHP 在计算机上发现访问读取创建本地文件?本地用途,不适用于网络在线服务器