オブジェクトとは何ですか?
簡単に言えば、私たち自身は物であり、人です。
リンゴ、小魚、馬はすべてオブジェクトです
オブジェクトは、これらの属性と呼ばれ、目と名前で、そのような自分自身のように、独自の特性を持っている。
オブジェクトは、行動を食べる、など自分自身のように、自分の行動を、持っている、と行動を話すこれらのメソッドと呼ばれている。
リコールカテゴリ:
人々は、男性を含め、女性、お年寄り、子供、豚には野生のイノシシや飼いならされた豚が含まれますが、それらはすべて人間と豚の2つのカテゴリ
に属します。オブジェクトに関しては、オブジェクト
指向を確認する必要があります。オブジェクト指向とは何ですか。使用は何ですか?
これは、コンピューターの目的について考えることです。
用计算机语言描述现实世界
用计算机解决现实中的问题
そして、向き合うことは開発者を助けることです:
1.コミュニケーションがより流暢になります
2.設計と開発の効率を改善します
3.人間の思考習慣に沿って
4.設計と開発の効率を改善します
次に、コンピュータ言語を使用して、オブジェクトが属するクラスとその属性およびメソッドを記述する方法を確認します。
クラス表現
プロパティの表現
メソッドの表現
コード表現:
狗类
public class Dog {
//狗的类名(Dog)
狗的属性如下
String name="小哈"; //昵称
int health = 60; //健康值
int love = 20; //亲密度
String strain = "哈士奇"; //品种
/**
* 狗的方法
*/
public void print(){
System.out.println(String.format("宠物的自白:\n我的名字叫%s,健康值是%d,和主人的亲密度是%d,我是一只%s",this.name,this.health,this.love,this.strain));
}
}
===========
//创建狗狗对象
Dog dog = new Dog();
dog.name=name;
dog.strain=strain;
dog.print();//调用狗的方法
ここでキーワードと修飾子に注意してください:
静的キーワード
static可以修饰:变量,方法,代码块
static修饰的变量可以使用类名直接调用
static修饰的代码块自动加载,并且在第一行输出
コード例:
/**
* 宠物企鹅类,使用静态常量。
*/
public class Penguin {
String name = "无名氏"; // 昵称
int health = 100; // 健康值
int love = 0; // 亲密度
static final String SEX_MALE ="Q仔";
static final String SEX_FEMALE="Q妹";
//static final String SEX_MALE = "雄";
//static final String SEX_FEMALE = "雌";
String sex = SEX_MALE; // 性别
/**
* 输出企鹅的信息。
*/
public void print() {
System.out.println("宠物的自白:\n我的名字叫" + this.name
+ ",健康值是" + this.health + ",和主人的亲密度是"
+ this.love + ",性别是 " + this.sex + "。");
}
}
测试类===========
public class Test {
public static void main(String[] args) {
Penguin pgn = null;
pgn = new Penguin();
System.out.println("第一个企鹅的性别是" + pgn.sex + "。");
pgn = new Penguin();
pgn.sex = Penguin.SEX_FEMALE;
System.out.println("第二个企鹅的性别是" + pgn.sex + "。");
pgn = new Penguin();
pgn.sex = Penguin.SEX_MALE;
System.out.println("第三个企鹅的性别是" + pgn.sex + "。");
}
}
最終修飾子
final修饰变量,变量便常量
final修饰方法,方法不能被重写
final修饰类,类不能被继承
工法と工法のオーバーロード
构造方法:
- 方法名和类名相同,
- 与访问修饰符和返回值类型无关
- 分为有参构造和无参构造
- 作用:可以给声明的属性赋值
- 在没有声明构造方法的情况下,系统默认提供一个无参构造方法; 如果声明了构造方法,系统则不会提供默认的无参构造方法
方法重载:
在同一个类中
- 方法名相同
- 参数的列表不同{
参数的个数不同,参数的顺序不同,参数的类型不同}
- 与访问修饰符和返回值类型无关
- 可以是普通方法构成,也可以是构造方法构成
コードを見てください:
/**
* 狗类
*/
public class Dog {
String name="小哈"; //昵称
int health = 100; //健康值
int love = 0; //亲密度
String strain = "哈士奇"; //品种
/**
* 无参构造
*/
public Dog(){
System.out.println("执行了无参构造");
}
/**
* 有参构造
* @param name 昵称
* @param strain 品种
*/
public Dog(String name,String strain){
System.out.println("执行了有参构造");
this.name=name;
this.strain=strain;
}
/**
* 宠物的自述
*/
public void print(){
System.out.println(String.format("宠物的自白:\n我的名字叫%s,健康值是%d,和主人的亲密度是%d,我是一只%s",this.name,this.health,this.love,this.strain));
}
}
=====================================
测试类:
public class Test {
public static void main(String[] args){
//创建狗狗对象
Dog dog = new Dog(); //默认调用无参构造
dog.print();
System.out.println();
//调用有参构造
dog = new Dog("旺财","泰迪"); //调用有参构造
dog.print();
System.out.println();
}
}
これの使用
1)これは何の略ですか?:現在のクラスオブジェクトを表します(誰がこのメソッドを呼び出し、これは誰を参照します)
2)これをメソッドの属性に追加する場合と追加しない場合の違いは何ですか?
this。属性:特定の指定された属性。
変数名(属性名は同じ):最初に、このメソッドに同じ名前の変数またはパラメーターがあるかどうかを確認し
ます。変数は変数またはパラメーターを参照します。パラメーターがない場合またはメソッド内の同じ名前の変数、次に同じ名前の属性を参照します。そうでない場合
、エラーが報告されます
コードは次のように表示されます。
public class Dog{
public Dog() {
System.out.println("狗出生了---顺产");
}
//自己添加的构造方法
public Dog(String name,String strain) {
this.name = name;
this.strain = strain;
System.out.println("狗出生了...---难产.");
}
public Dog(String a,int b) {
System.out.println("狗出生了----剖腹产");
}
public Dog(int b,String a) {
System.out.println("狗出生了----流产出来了");
}
String name = "无名氏"; // 昵称,默认值是"无名氏"
int health = 100; // 健康值,,默认值是100
int love = 0; // 亲密度
String strain = "哈士奇"; // 品种
/**
* 输出狗狗的信息。
*/
public void print() {
System.out.println("宠物的自我介绍:\n我的名字叫" + this.name +
",健康值是" + this.health + ",和主人的亲密度是"
+ this.love + ",我是一只 " + this.strain + "。");
}
}