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