15.面向對象-----this、package、import關鍵字

1、this關鍵字

1.能夠調用的結構

this能夠調用類的屬性、方法、構造器。java

2.this調用屬性、方法

①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 + "正在吃飯");//張三正在吃飯
    }
}

3.this調用構造器

①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;
    }
}

2、package關鍵字

1.使用說明

1.爲了更好的實現項目中類的管理,提供包的概念;

2.使用package聲明類或接口所屬的包,聲明在源文件的首行;

3.包,屬於標識符,遵循標識符的命名規則、規範(xxxyyyzzz)、「見名知意」;

4.每"."一次,就表明一層文件目錄。

2.JDK中的主要包

 

 3、import關鍵字

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

相關文章
相關標籤/搜索