Generic
汎用構文定義
class クラス名bbab4f2f6529af76223c87fa8361490a{ プライベート汎用識別子 1, 変数名; 一般的に使用される汎用識別子: T、E , K, V }
public class GenericDemo<K> {
//定义数组
private K[] arr;
}
内の通常の記述
- ##クラス名 b85d2e5c5e294e02697b3e394d34f9c2 オブジェクト名 = 新しいクラス名 ee77d50ba452a786438b48294f7a0a2e ()
#jdk1.7 以降では、以下の a8093152e673feb7aba1828c43532094 は記述せずに省略できます クラス名オブジェクト名 = newクラス名a8093152e673feb7aba1828c43532094() 一般的な概要
型パラメータ化によりクラス定義がより汎用的になります 基本型はコンパイル時にオブジェクトに変換できないため、ジェネリックは基本型をサポートしません ジェネリック クラスがオブジェクトを作成するとき、データ型が指定されていない場合、オブジェクトは次のように動作します。オブジェクト型への変換 同じジェネリック クラスは論理的には複数の異なる型と見なすことができますが、実際には同じ型です ジェネリックからサブクラスを派生しますクラス
サブクラスもジェネリックであり、サブクラスと親クラスのジェネリックは一貫性がある必要があります (たとえば、ジェネリック型 T であっても一貫性があり、記述された内容が同じである必要があります)、
親クラスが型を指定しない場合、親クラスはオブジェクト型に従ってそれを処理する必要があります##
public class Child<T> extends Parent<T> {
}
##サブクラスはジェネリックではないため、親クラスはジェネリック型を指定する必要があります
親クラスが型を指定しない場合、親クラスはオブジェクト型に従ってそれを処理する必要があります
汎用インターフェイス
汎用インターフェイスの構文定義: インターフェイスインターフェイス名 48d2c00265cbea389aa3876d47825101{ジェネリック識別メソッド名 (); … }
-
実装クラスもジェネリックです。実装クラスとインターフェイスは一貫している必要があります。インターフェイスで型が指定されていない場合、インターフェイスはオブジェクトの型に従って処理される必要があります。
実装クラスはジェネリックではありません。インターフェイスはジェネリック インターフェイスのデータ型を明確にする必要があります。インターフェイスで型が指定されていない場合、インターフェイスはオブジェクト タイプに従って処理されます
ラムダ式
lambda式の概念
オブジェクト指向プログラミングは、物事はオブジェクトの形式で実行される必要があることを強調します。関数思考はオブジェクトの複雑な記述を無視しようとし、「形式ではなく何を行うかを強調します」
ラムダ式は関数のアイデアを具体化したものです
- ##ラムダ式は関数式を定義する簡略化された方法です。関数呼び出しを記述する簡略化された方法ではありません
- ラムダ式の形式
##3 つの要素: 仮パラメータ、矢印、コード ブロック
フォーム 例: (仮パラメータ) ->コードブロック 仮パラメータ 複数のパラメータがある場合は、カンマで区切ります。 -> パラメータは空の括弧のままにし、スペースは入れません。 -> 英語である必要があり、 コード ブロックの実行を示す固定の記述方法: 具体的に行うべきこと 使用の前提条件: インターフェイスを使用する: インターフェイスには抽象メソッドが 1 つだけあります コード例:
rree
以上がJava ラムダ式の分析と一般的なアプリケーション例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。