this能夠調用類的屬性、方法、構造器。java
①this調用屬性、方法,表明當前對象;this
②在類的方法中,咱們可使用"this.屬性"或"this.方法"的方式,調用當前對象屬性或方法。可是,一般狀況下,咱們都擇省略"this."。特殊狀況下,若是方法的形參和類的屬性同名時,咱們必須顯式的使用"this.變量"的方式,代表此變量是屬性,而非形參。spa
③在類的構造器中,咱們可使用"this.屬性"或"this.方法"的方式,調用當前正在建立的對象的屬性或方法。可是,一般狀況下,咱們都擇省略"this."。特殊狀況下,若是構造器的形參和類的屬性同名時,咱們必須顯式的使用"this.變量"的方式,代表此變量是屬性,而非形參。code
public class test { public static void main(String[] args) { Person p = new Person(); p.name = "張三"; p.age = 18; p.show();//張三 p.eat("李四"); } } class Person{ String name; int age; public void show(){ System.out.println(this.name); } public void eat(String name){ System.out.println(name + "正在吃飯");//李四正在吃飯 System.out.println(this.name + "正在吃飯");//張三正在吃飯 } }
①this調用構造器,表明當前正在建立的對象;對象
②咱們在類的構造器中,能夠顯式的使用"this(形參列表)"方式,調用本類中指定的其餘構造器;blog
③構造器中不能經過"this(形參列表)"方式調用本身;接口
④若是一個類中有n個構造器,則最多有 n - 1構造器中使用了"this(形參列表)";class
⑤規定:"this(形參列表)"必須聲明在當前構造器的首行;test
⑥構造器內部,最多隻能聲明一個"this(形參列表)",用來調用其餘的構造器import
public class test { public static void main(String[] args) { Person p = new Person(); Person p1 = new Person("張三", 18); } } class Person{ String name; int age; public Person(){ System.out.println("構造器1"); } public Person(String name){ this(); this.name = name; } public Person(int age){ this(); this.age = age; } public Person(String name, int age){ this(name); this.age = age; } }
1.爲了更好的實現項目中類的管理,提供包的概念;
2.使用package聲明類或接口所屬的包,聲明在源文件的首行;
3.包,屬於標識符,遵循標識符的命名規則、規範(xxxyyyzzz)、「見名知意」;
4.每"."一次,就表明一層文件目錄。
import的做用是導入Java相關包或自定義包下的類或靜態結構(屬性、方法)。
具體說明:
1. 在源文件中顯式的使用import結構導入指定包下的類、接口;
2. 聲明在包的聲明和類的聲明之間;
3. 若是須要導入多個結構,則並列寫出便可;
4. 可使用"xxx.*"的方式,表示能夠導入xxx包下的全部結構;
5. 若是使用的類或接口是java.lang包下定義的,則能夠省略import結構;
6. 若是使用的類或接口是本包下定義的,則能夠省略import結構;
7. 若是在源文件中,使用了不一樣包下的同名的類,則必須至少一個類須要以全類名的方式顯示;
8. 使用"xxx.*"方式代表能夠調用xxx包下的全部結構。可是若是使用的是xxx子包下的結構,則仍須要顯式導入;
9. import static:導入指定類或接口中的靜態結構:屬性或方法。
做者:Java之美
日期:2020-03-28