java - 为什么我们不能通过使用 Character 类的对象来使用 Character 类的方法?
问题描述
我的问题是为什么我们不能使用 Character 类的对象来使用 Character 类的方法?
Character c=new Character('9');
c.isDigit(); // this is invalid in java
c.isDigit('9'); // this is invalid in java
Character.isDigit('9'); // this is valid
这是为什么?
解决方案
因为该方法的签名是:
public static boolean isDigit(char ch)
注意static关键字!
这意味着您最好直接在类上调用该方法,而不是在单个实例上。
当然,这是可能的,c.isDigit('9')
但这根本没有多大意义。您仍在调用与您似乎调用它的特定内容无关的静态方法。c
c.isDigit()
无效,因为该方法需要一个参数。你不能没有一个!
换句话说:编译器允许您在类的实例上调用静态方法,但不能省略强制参数!
推荐阅读
- appv - 是否支持将 SQL Server 2017 作为 App-V 5.1 管理数据库?
- ruby - ActiveRecord::RecordNotFound 在 StaticPagesController#home
- android - 覆盖后退按钮 wix 反应原生导航 V2?
- javascript - 关于 Maps Javascript API 上的地图移动计费
- javascript - 如何使用javascript查找和计算数组中的重复整数
- c# - 文件传输过程中视频文件元数据信息丢失
- c# - 我需要将 .json 转换为数组
- python - 限制核心数 Dask 不工作?
- javascript - 如何在分配变量时使用 async/await?
- c# - 将相关的第三个类从第三个 SQL 表传递到具有 ViewModel 的视图中