web-dev-qa-db-ja.com

super()メソッドは何をしますか?

スーパーメソッドは何をしますか?

_public DataFetch(Context context) {
    super();
    this.ctx = context;
}
_

このコンストラクターは、新しく作成されたオブジェクトのコンテキストをスーパークラスのコンテキストにしますか?これがどのように機能するか100%わかりません。では、super()メソッドは、基本的に「スーパークラスモードに切り替えて」と言って、普通の人の言葉で言っているのでしょうか。

21
mergesort

デフォルトのコンストラクターを呼び出すことにより、「私を初期化する前に親クラスを初期化する」と書かれています。

35
duffymo

super()は、親のクラスコンストラクターを呼び出し(オブジェクトに戻るまで)、現在のクラスのコンストラクターの前に実行されます。

10
ferostar

「スーパークラスコンテキスト」というものはありません。コンテキストは、画像リソースやシステムサービスなどのアプリケーション環境から情報にアクセスするためのインターフェースです。コンテキストは、渡したものからのものであり、クラスに依存しません。たとえば、Activityは、使用する可能性のあるContextインターフェースの実装であり、そのアクティビティ内から作成するビューには、実際にアクティビティによって提供されるものと同じコンテキストがあります。

2
jqpubliq

コンストラクタで使用する場合、super()キーワードは単独で表示され、thisキーワードを使用する前に使用する必要があります。次に、thisキーワードを使用して、親オブジェクトの関数を呼び出すことができます。

0
Genovo