オブジェクト指向の概要
Javaはオブジェクト指向のハイレベルなプログラミング言語です。オブジェクト指向の実装:シンプルなものは、現実の世界をシミュレートするコード度の高いと考えることができます。
オブジェクト指向の最も重要な二つの概念の:クラス、オブジェクト。
理解のクラス
- クラスは、共通の属性と同じものの動作の説明です。人間、学生、教師、クラス、関係者、ビジネスマンなどがあります。
理解するためのシンプル:クラスは、物事の現実を説明します
クラスの構成
- 属性(メンバ変数):のような、物事の特性を指し、ヒト(名前、年齢、身長、体重)
- 行動(メンバメソッド)は次のようなものを行うことができる動作を意味する:ヒト(歌、ダンス)
オブジェクト
- 客観的に存在するすべては、すべてのオブジェクトであるので、我々は、多くの場合、物事がオブジェクトであると言います。
- オブジェクトは、実在のインスタンスです。オブジェクト==インスタンス。
クラス定義
このクラスは、通常、2つのコンポーネントを見:
組成物は、クラスのプロパティ2つの部分の挙動によって決定されます
- プロパティ:クラスのメンバ変数では、反映するために
- 挙動:クラスで会員による方法を反映します
クラス定義フォーマット:
修饰符 class 类名{
// 1、成员变量:Field(描述类或者对象的属性信息的,例如:身高,体重,名称)
// 2、成员方法: Method(描述类或者对象的行为信息的,例如:唱歌,跳舞,买票)
// 3、构造器: Constructor(初始化类的一个对象出来)
....
}
クラスは、請求項に定義されました
1、クラス名の最初の文字を満たすハンプモードへの提言を大文字にキーワードを使用することはできません、識別子が合法的でなければならず、意味のあることを、。
2、Javaファイルには、複数のクラスを定義することができますが、ファイルは、Javaコードの名前である必要があり、公共、公共修飾クラス名を変更のみで1クラス、それ以外の場合はエラー!
図3は、クラスがパブリックで修飾することができないJavaコードファイルは、その後、コードファイル名を自由にすることができる
4、Javaファイルは唯一のクラスを定義することをお勧めします。
例えば:
public class People {
// 1、属性
String name; // 名称
int age ; // 年龄
double height ; //身高
double weight ; // 体重
// 2、行为
public void sing(){
System.out.println("唱的真好!!");
}
public void jump(){
System.out.println("跳的真美!!");
}
}
オブジェクトの作成
オブジェクト形式の作成:
クラス・オブジェクト名の名前=新しいクラス名();
メンバ変数のフォーマットを呼び出す:
オブジェクト変数メンバーは
メンバー・メソッドの形式を呼び出す:
オブジェクトのメンバ・メソッドの名前();.
public class PeopleDemo {
public static void main(String[] args) {
// 1、创建对象的格式:
// 类名 对象名称 = new 类名();
People wuHao = new People();
// 2、调用成员变量的格式:对象名.成员变量
System.out.println(wuHao.name); // null
wuHao.name = "吴昊"; // 赋值
wuHao.age = 18 ; // 赋值
wuHao.weight = 60; // 赋值
wuHao.height = 180 ;// 赋值
System.out.println(wuHao.name); // 吴昊
System.out.println(wuHao.age); // 18
System.out.println(wuHao.weight); // 60.0
System.out.println(wuHao.height); // 180.0
// 3、调用成员方法的格式:对象名称.成员方法
wuHao.sing();
wuHao.jump();
}
}
class People {
// 1、属性
String name; // 名称
int age ; // 年龄
double height ; //身高
double weight ; // 体重
// 2、行为
public void sing(){
System.out.println("唱的真好!!");
}
public void jump(){
System.out.println("跳的真美!!");
}
}
注:オブジェクトが直接、別のオブジェクトに別の長い変更を変更されます。このアドレスの割り当てを、自分自身を割り当てることができます。以下のようなアレイビットのタイプを参照して説明します。
Student minGe = xuMin; // 把xuMin这个对象变量存储的地址赋值给了minGe变量
例:
public class StudentDemo {
public static void main(String[] args) {
Student xuMin = new Student();
System.out.println(xuMin); // 6d03e736
xuMin.name = "徐敏";
xuMin.age = 18 ;
System.out.println(xuMin.name); // 徐敏
System.out.println(xuMin.age); // 18
xuMin.study();
xuMin.doHomeWork();
System.out.println("-----------------------------------");
Student minGe = xuMin; // 把xuMin这个对象变量存储的地址赋值给了minGe变量
System.out.println(minGe); // 6d03e736
minGe.name = "敏哥";
System.out.println(xuMin.name); // 敏哥
System.out.println(minGe.age); // 18
minGe.study();
minGe.doHomeWork();
}
}
class Student{
// a.属性(成员变量)
String name ;
int age ;
// b.行为(方法):学习
public void study(){
System.out.println("好好学习,天天向上");
}
// c.行为(方法):抄写代码
public void doHomeWork(){
System.out.println("写代码、写代码、写代码。");
}
}