this:this
一、使用在類中,能夠用來修飾屬性、方法、構造器spa
二、表示當前對象或者是當前正在建立的對象設計
三、當形參與成員變量重名時,若是在方法內部須要使用成員變量,必須添加 this 來代表該變量時類成員code
public void setName(String name) { this.name = name; }
四、在任意方法內,若是使用當前類的成員變量或者成員方法能夠在其前面添加 this ,加強程序的閱讀性對象
五、在構造器中使用 「 this(形參列表) 」 顯示的調用本類中重載的其餘的構造器blog
>5.1 要求 「 this(形參列表) 」 要聲明在構造器的首行!繼承
//構造方法 public Person(){} public Person(String name){ this(); this.name = name; } public Person(String name,int age){ this(name); this.age = age; }
>5.2 類中若存在 n 個構造器,那麼最多有 n-1 構造器中能夠使用 「 this(形參列表) 」get
package com.basis; public class Person { private String name; private int age; //構造方法 public Person(){} public Person(String name){ this(); this.name = name; } public Person(String name,int age){ this(name); this.age = age; } //setter 和 getter 方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void show(){ System.out.println("name:"+this.getName()+" age:"+this.getAge()); } }
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>class
super(繼承性):變量
一、super, 相較於關鍵字 this , 能夠修飾屬性、方法、構造器
二、super 修飾屬性、方法:在子類的方法、構造器中,經過 super.屬性 或者 super.方法 的形式,顯式的調用父類的指定屬性或者方法。尤爲是,當子類與父類有同名的屬性、或者方法時,調用父類中的結構,必定要用 「super.」
三、經過 「super(形參列表)」 ,顯式的在子類的構造器中,調用父類指定的構造器
>3.1 要求 「 super(形參列表) 」 要聲明在構造器的首行!
>3.2 任何一個類(除 Object 類)的構造器的首行,要麼顯式的調用本類中重載的其餘構造器 「this(形參列表)」 或顯式的調用父類中指定的構造器 「super(形參列表)」 ,要麼默認的調用父類空參的構造器 「super()」
>3.3 建議在設計類時,提供一個空參的構造器!
class Student extends Person{ private int id; public Student() { super(); } public Student(String name, int age,int id) { super(name, age); this.id = id; } public Student(String name,int id) { super(name); this.id = id; } }