シューティングゲーム初日:
1. 6つのオブジェクトクラスを作成し、Worldクラステストを作成
シューティングゲームの2日目:
1. 6つのオブジェクトクラスに構築メソッドを追加してテストする
レビュー:
1.クラスとは?オブジェクトとは?
2.クラスを作成するには?オブジェクトを作成するには?メンバーにアクセスするには?
注:
0。メソッドシグネチャ:メソッド名+パラメータリスト
1.メソッドオーバーロード(オーバーロード):
1)クラスで発生、メソッド名は同じ、パラメータリストは異なる、メソッド本体は異なる
2)コンパイラはメソッドのシグニチャーは、呼び出されたメソッドに自動的にバインドされます
。2:コンストラクター:コンストラクター/コンストラクター/ビルダー
1)メンバー変数に初期値を割り当てます
2)クラスと同じ名前、戻り値タイプなし
3)(新しい)オブジェクトの作成時に作成されます自動的に呼び出す
4)コンストラクターを作成しない場合、コンパイラーはデフォルトでパラメーターなしのコンストラクターになります。コンストラクター
を作成する場合、コンパイラーは提供しなくなります
5)コンストラクターはオーバーロードできます
3.this:現在のオブジェクトを参照します、どのオブジェクトがメソッドを呼び出しますか?これは、メソッドで
のみ使用できるオブジェクトを参照します。メソッドでメンバー変数にアクセスする前に、これにはデフォルトの
使用法があります。これは次のとおりです:
1)これの名前。メンバー変数---------メンバーにアクセス変数
2)this。メソッド名()----------- callメソッド(通常は不要)
3)this()----------------- callコンストラクタ
4. null:空、どのオブジェクトも指していません。
参照の値がnullの場合、参照は操作を実行できません。
操作が発生した場合、NullPointerExce ption nullポインタ例外
5.参照型変数描画等号:
1)同じオブジェクトを指す
2)1つの参照によるデータの変更は、データへの別の参照のアクセスに影響します。
例:家の鍵の
基本型変数は等号を描画します
。1)割り当て
2)1つの変数の変更は、別の変数のアクセスに影響しません
。コピー
演習:
1)絵を描く
2)昨日に基づいて、今日のプロジェクトコードを2回やり直す
ハウス:オブジェクト
ハウスキー:
キー付きリファレンス:リファレンス
メモリ管理:JVMで管理
1)ヒープ:新しいオブジェクト(メンバー変数を含む)
2)スタック:ローカル変数(メソッドパラメーターを含む)
3)メソッド領域:.classバイトコードファイル(メソッドを含む)
void show(int a){
double b = 34.567;
}
Student zs = new Student();
x =(int)(Math.random()*(400-this.width));
ランダムrand = new Random();
x = rand.nextInt(400-this.width);
y =
クラスStudent {
文字列名;
年齢;
文字列アドレス。
Student zs = new Student( "zhangsan"); // zhangsan、0、null
Student zs = new Student( "zhangsan"、25); // zhangsan、25、null
Student zs = new Student( "zhangsan"、25、 "LF"); // zhangsan、25、LF
Student zs = new Student( "zhangsan"、25); // zhangsan、25、null
Student zs = new Student( "zhangsan"); // zhangsan、0、null
Student(String name){
this(name、0);
}
Student(String name、int age){
this(name、age、null);
}
Student(String name、int age、String address){
this.name = name;
this.age =年齢;
this.address =アドレス;
}
}
Student zs = new Student( "zhangsan"、25、 "LF");
Student ls = new Student( "lisi"、26、 "JMS");
クラスStudent {
文字列名;
年齢;
文字列アドレス。
Student(String name、int age、String address){
this.name = name; //ls.name="lisi "
this.age = age; //ls.age=26 this.address
= address; //ls.address="JMS "
}
}
近接の原理
メンバー変数がローカル変数と同じ名前の場合、これは省略できません
class Student {
String name; // Member variable
int age;
String address;
Student(String name、int age、String address){//ローカル変数
this.name =名前;
this.age =年齢; this.address =
アドレス;
}
void study(){
System.out.println(name + "in learning ...");
}
void sayHi(){
System.out.println( "Hello Everyone、my name is" + name + "、this year is" + age + "今、家 "+アドレス);
}
}
Student zs = new Student();
zs.name = "zhangsan";
zs.age = 25;
zs.address = "LF";
zs.study();
zs.sayHi();
Student ls = new Student();
ls.name = "lisi";
ls.age = 26;
ls.address = "JMS";
ls.study();
ls.sayHi();
学生ww = new Student();
ww.study();
ww.sayHi();
クラスStudent {
文字列name = null;
int age = 0;
文字列address = null;
void study(){ww.name
System.out.println(this.name + "in learning ...");
}
void sayHi(){ww.name ww.age ww.address
System.out.println( "Hello Everyone 、私の名前は "+ this.name +"です。今年は "+ this.age +"が古く、私は家に住んでいます "+ this.address);
}
}
class Student {
String name;
int age;
String address;
Student(){
}
//初期値をメンバー変数に割り当てる
Student(String name1、int age1、String address1){
name = name1;
age = age1;
address = address1;
}
}
Student zs = new Student();
Student zs = new Student( "zhagnsan"、25、 "LF");
class Student {
String name;
int age;
String address;
//初期値をメンバー変数に割り当てる
Student(String name1、int age1、String address1){
name = name1;
age = age1;
address = address1;
}
}
Student zs = new Student(); //コンパイルエラー
Student zs = new Student( "zhangsan"、25、 "LF");
Student zs = new Student( "zhangsan"、25、 "LF");
Student ls = new Student( "lisi"、26、 "JMS");
class Student {
String name;
int age;
String address;
//初期値をメンバー変数に割り当てる
Student(String name1、int age1、String address1){
name = name1;
age = age1;
address = address1;
}
}
// 1)生徒オブジェクトを作成する
// 2)デフォルト値をメンバー変数に割り当てる
// 3)生徒クラス
Studentのコンストラクターを呼び出すStudent zs = new Student();
Student zs = new Student();
zs.setInfo( "zhangsan"、25、 "Hebei Langfang");
Student ls = new Student();
ls.setInfo( "lisi"、26、 "Heilongjiang Jiamusi");
Student zs = new Student();
zs.name = "zhangsan";
zs.age = 25;
zs.address = "Hebei Langfang";
Student ls = new Student();
ls.name = "
lisi "; ls.age = 26;
ls.address = "Heilongjiang Jiamusi";
void println(){
}
void println(int a){
}
void println(double a){
}
void println(boolean a){
}
void println(char a){
}
void println(String a){
}
System.out.println();
System.out.println(23);
System.out.println(35.7);
System.out.println(true);
System.out.println( '你');
System.out.println( "Hello");