Java 9のインターフェースでプライベートメソッドを使用できますか?
はい、Java9以降、インターフェースでプライベートメソッドを使用できます。
例
interface MyInterface { public abstract void demo(); public default void defaultMethod() { privateMethod(); staticPrivateMethod(); System.out.println("This is a default method of the interface"); } public static void staticMethod() { staticPrivateMethod(); System.out.println("This is a static method of the interface"); } private void privateMethod(){ System.out.println("This is a private method of the interface"); } private static void staticPrivateMethod(){ System.out.println("This is a static private method of the interface"); } } public class InterfaceMethodsExample implements MyInterface { public void demo() { System.out.println("Implementation of the demo method"); } public static void main(String[] args){ InterfaceMethodsExample obj = new InterfaceMethodsExample(); obj.defaultMethod(); obj.demo(); MyInterface.staticMethod(); } }
出力
This is a private method of the interface This is a static private method of the interface This is a default method of the interface Implementation of the demo method This is a static private method of the interface This is a static method of the interface
-
Javaでpack()メソッドを使用できるのはいつですか?
pack() メソッドはウィンドウで定義されています Javaのクラスであり、すべてのコンテンツが適切なサイズ以上になるようにフレームのサイズを設定します。 pack()の代替 メソッドは、 setSize()を呼び出して、フレームサイズを明示的に確立することです。 またはsetBounds() メソッド。通常、 pack()を使用します setSize()よりもメソッドを呼び出す方が望ましい パックはフレームレイアウトマネージャーにフレームサイズを任せ、レイアウトマネージャーはプラットフォームの依存関係やコンポーネントサイズに影響を与えるその他の要因にうまく適応できるためです。 構文 p
-
Java8でのインターフェースの機能強化
Java 8では、インターフェースにデフォルトのメソッド実装の新しい概念が導入されています。この機能は下位互換性のために追加されているため、古いインターフェースを使用してJava8のラムダ式機能を活用できます。 たとえば、「List」または「Collection」インターフェースには「forEach」メソッド宣言がありません。したがって、このようなメソッドを追加すると、コレクションフレームワークの実装が壊れてしまいます。 Java 8ではデフォルトのメソッドが導入されているため、List / CollectionインターフェースはforEachメソッドのデフォルトの実装を持つことができ、これ