Java中的静态方法可以使用对象实例进行访问
在Java中,创建静态方法是为了在没有任何对象实例的情况下访问它。这对我来说是有道理的。但是最近我遇到了一件奇怪的事情,Java中的静态方法也可以通过其对象实例进行访问。这对我来说看起来很奇怪。你们有谁知道为什么Java提供这个功能?允许静态方法在有实例和没有实例的情况下访问有什么意义?
在Java中,创建静态方法是为了在没有任何对象实例的情况下访问它。这对我来说是有道理的。但是最近我遇到了一件奇怪的事情,Java中的静态方法也可以通过其对象实例进行访问。这对我来说看起来很奇怪。你们有谁知道为什么Java提供这个功能?允许静态方法在有实例和没有实例的情况下访问有什么意义?
这样做的一个好处是,它允许您采用实例方法并将其转换为静态方法,而无需修改任何现有代码(类除外),从而实现向后兼容性。我发现这很有用,因为我多次遇到可以设置为静态的实用程序方法 - 我可以添加修饰符并继续我的方式。static
语义上相同。编译器足够聪明,可以知道你的意思(即通过类访问静态方法)。IDE会给你一个警告,告诉你这是不礼貌的:)
有关更多详细信息,请查看此问题。正如他们所说,这可能会产生误导,这就是为什么IDE会给你一个警告。