一週間のJava学習の概要
オブジェクト指向およびプロセス指向のプログラミング上の異なる特性のいくつかだけでなく、静的なキーワードで言えば、何を整理するために、今日をまとめます。
オブジェクト指向
- Javaはオブジェクト指向との接触になりました、そして今、開発者は、ほぼすべてのオブジェクト指向の基礎となっています。私は、会社の内部で食べるように読み込む際に、オブジェクト指向は、イベントの設計方法について詳細に説明するだけの非常に深遠な言葉を考えることができ、書籍は、単独の思い出は、この機能の解釈言語について考えるように読んでいませんその後、オブジェクト指向、シェフが準備レシピが何であるかの担当者に似て合計であること、労働者の下位部門に行き、それぞれの人が料理を担当して、自分のレシピに応じて、それぞれの人が完了するまで、ごちそうテーブルの最終合計は、フォームで作られました。どの食べ物に良いではない、と検査のために直接責任を見つけることができます。この設計は、汎用性と、モジュール式の規格、効率、時には高いポイントを持つことができます。
- カプセル化、継承、多態性:3つの機能上のオブジェクト指向プログラミング。カプセル化は、最初のオブジェクトのプロパティ、挙動情報隠さ特徴続いて別のユニットに分離できない全体のパッケージとして継承されている。継承の種類発現および親クラスとサブクラスの説明され、反射しています物事のクラスの一般的な特性は、派生クラスは、そのベースで特別なものを反映しています。(クラスは、属性およびメソッドから構成されている)、最終的に多型、メソッドのオーバーロードおよび多型を含むオブジェクトです。子と親クラスは、異なる機能を使用して、そのサブクラスの完了に応じて、交換可能であってもよいです。
- オブジェクトとクラスは、オブジェクト指向開発ユニットの基本的な概念からJavaサポートされています。テンプレートオブジェクトクラスは実際には一例として使用されるべきで、直接使用することができない、操作されます。髪(カテゴリ)のようなドレスアップ人間(被写体)の様々な手段を達成するために。
staticキーワード
「静的メソッドは、この方法ではありません。あなたは、順番に、可能であり、静的メソッド内で非静的メソッドを呼び出すことはできません。そして、あなたは唯一のクラス自体による静的メソッドを呼び出すために、前提の下で任意のオブジェクトを作成することはできません。これは、実際にあるもの静的の主な目的のメソッド。「 - 」Javaプログラミングのアイデア」
静的なキーワードについてのトークでは、変数やメソッドのスコープには影響を与えません。そして、C / C ++は静的異なっています。C / C ++では、ローカル変数の静的なスコープですが、Javaで覚えておいてください:静的ローカル変数を変更することはできません。
- ローカル変数とメンバ変数にJava変数、さらに3種類に分け、ローカル変数:パラメータ、メソッド内のローカル変数、ローカル変数(ブロックの範囲内で名前を見るには、そのコードブロックのように理解されるであろう、 )ダイブロックの終了後に失敗し始めます。メンバー変数:また、クラス変数として知られても、インスタンス変数として知られている非静的変数、および静的変数を含む変数の定義内のクラス。
- 静的は文字通り、静的な意味;しかし、Javaプログラムでは、それは役割があるというサインであるインスタンスメンバは、クラスのメンバーになりますが。のみフィールド、メソッド、内部クラス、初期化ブロックを含むクラスで定義されたメンバーの修飾部分。これらのメンバーに変更のない静的クラスは、彼らがクラスのインスタンスに属しています。
例:静的int型NUM2 = 20; (クラス変数である)
EG:INT NUM1 = 238;(インスタンス変数) - 修飾された静的メンバーはクラス変数を初期化して初期化され、クラスAに属し、修飾静的メンバ変数なしの例に属し、インスタンス変数は、オブジェクトの初期化で初期化。タイミングは確かに初期のインスタンス変数のより静的な修飾であるので、初期化する前にオブジェクトの前に、確かにあなたが最初に、オブジェクトが属するクラスを初期化する必要がありますので。
- 静的メソッド一般に静的メソッドは、任意のオブジェクトに依存しないと呼ぶがそのように静的メソッドのために、アクセスすることができ、この中に何ら存在しません。注意あなたは、静的メソッドで非静的メンバメソッドとメンバ変数にアクセスすることはできません。下記に示すように、
静的非静的を呼び出すことはできませんので、ここでの印刷方法は、間違っていると)(GETINFOを呼び出します。エラーは英語でもよく理解され、「タイプBookJava(603979977)から非静的メソッドGETINFO()への静的参照を作成できません」があります。
インサートの次の例では、より優れた静を理解する必要があります
public class statictest {//考察这个代码的打印情况
//3 第三步
Person person = new Person("Test");
//这里是第一个person参数:test 5运行完4后就开始通过构造器来生成对象,这里Person没有加载过,去找Person
static {
//3有static块,直接运行这一步。所以一开始打印这一句
System.out.println("test static"); }
public statictest() {
System.out.println("test constructor");
//7打印第五句 }
public static void main(String[] args) {
//1主方法入口,第一先读取这里
new MyClass();
}
}
class Person {
//6过来就运行static块,打印第三句
static {
System.out.println("person static");
}
public Person(String str) {
//6打印第一个参数test,第四句
System.out.println("person " + str);
}}
class MyClass extends statictest {
//2继承的是statictest类,所以先看上面的statictest
Person person = new Person("MyClass");
//8运行完stasictest,开始打印这里的person
static{
//4加载statictest完,回来加载MyClass,发现static,直接第二步打印
System.out.println("myclass static");
}
public MyClass() {
System.out.println("myclass constructor");
//9最后运行到这一步,打印出最后一句
}
}
/*答案
test static
myclass static
person static
person Testtest
constructorperson
MyClassmyclass constructor
*/