【インタビューの質問】Javaの静的メソッドとインスタンスメソッドの違いは何ですか?

ブログの内容が変更される場合があり、最初のブログが最新であり、他のブログのアドレスが同期していない可能性がありますので、よく確認してください。https://blog.zysicyj.top

最初のブログアドレス[1]

面接質問マニュアル[2]

シリーズ記事アドレス[3]


Java の静的メソッドとインスタンス メソッドの間には、使用法と動作にいくつかの違いがあります。

  1. 呼び出し方法が異なります。

    • 静的メソッドは、クラス名を通じて直接呼び出すことができます ClassName.staticMethod()
    • インスタンス メソッドは、クラスのインスタンス オブジェクトを作成した後に呼び出す必要があります (例: ) ClassName obj = new ClassName(); obj.instanceMethod()
  2. メモリ割り当てが異なります。

    • 静的メソッドは、オブジェクト インスタンスを作成せずにクラスがロードされるときにメモリを割り当てます。
    • インスタンス メソッドは、オブジェクト インスタンスの作成後にメモリを割り当てる必要があります。
  3. アクセス権は次のように異なります。

    • 静的メソッドは、オブジェクト インスタンスを作成せずに、クラスの静的メンバー (静的変数および静的メソッド) に直接アクセスできます。
    • インスタンス メソッドは、クラスの静的メンバーとインスタンス メンバー (インスタンス変数とインスタンス メソッド) にアクセスできます。
  4. オブジェクトの依存関係は異なります。

    • 静的メソッドはオブジェクト インスタンスに依存しないため、インスタンス変数やインスタンス メソッドに直接アクセスできません。
    • インスタンス メソッドは、インスタンス変数およびインスタンス メソッドに直接アクセスできます。
  5. 継承はオーバーライドとは異なります。

    • 静的メソッドはオブジェクトではなくクラスに属しているため、サブクラスによってオーバーライドすることはできません。
    • インスタンス メソッドはサブクラスによってオーバーライドでき、サブクラスは必要に応じてメソッドの実装を変更できます。
  6. さまざまな使用シナリオ:

    • 静的メソッドは通常、オブジェクトの状態に依存しないユーティリティ クラスまたはヘルパー メソッドを実装するために使用されます。
    • インスタンス メソッドは通常、オブジェクトの状態と動作を操作するために使用されます。

综上所述,静态方法和实例方法在调用方式、内存分配、访问权限、对象依赖、继承和重写以及使用场景等方面存在差异。了解这些差异可以帮助我们更好地理解和使用 Java 中的静态方法和实例方法。

参考资料

[1]

首发博客地址: https://blog.zysicyj.top/

[2]

面试题手册: https://store.amazingmemo.com/chapterDetail/1685324709017001

[3]

系列文章地址: https://blog.zysicyj.top/categories/技术文章/后端技术/系列文章/面试题精讲/

本文由 mdnice 多平台发布

おすすめ

転載: blog.csdn.net/njpkhuan/article/details/133552088