oo.day02

シューティングゲーム初日:
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");


 

元の記事を33件投稿しました 賞賛されました4 訪問2730

おすすめ

転載: blog.csdn.net/qq_41650000/article/details/81107361