類與對象

Java作爲一種面向對象的語言,即OOP(Object Oriented Programming)語言。其所具有的三大特徵:

  • 繼承
  • 封裝
  • 多態

這三點在類與對象這一部分重點體現。如果我們把類比喻成模板,那對象就相當於實體。

一.對象的初始化

  • 方法1

提供的一系列的get和set方法
例如:

class PersonOne {
    private String name;//實例變量  屬性   數據成員
    private int age;
    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;
}
  • 方法2

調用合適的構造函數,構造函數不止一個。例如:

class PersonTow {
    private String name;//實例變量  屬性   數據成員
    private int age;
    private String sex;

  public PersonTow() {//不帶有參數的構造函數
        this("caocao",18,"man");//必須放在第一行
        System.out.println("Person.init");
   }

    public PersonTow(String name,int age,String sex) {//不帶有參數的構造函數
        System.out.println("Person(String,int,String).init");
        this.age = age;
        this.name = name;
        this.sex = sex;
    }
  • 方法3

靜態代碼塊,實例代碼的初始化。例如:

class Person {
    private String name = "baozi";//實例變量  屬性   數據成員
    private int age;
    private String sex;
    private static int data;
    private static int data2 = 99;
    static {//靜態代碼塊初始化 ===》只初始化一次
        //this.sex = "man";
        System.out.println("static{}");
        data = 10;
    }

    {//實例代碼塊初始化
        System.out.println("instance{} init");
        this.sex = "man";
        this.age = 10;
        this.name = "gaobo";
    }

在一個程序中,對象的初始化順序:
靜態代碼塊初始化 – > 實例代碼塊初始化 --> 構造函數初始化

內部類

1、靜態內部類
2、實例內部類
3、本地內部類 --> 方法內部的類
4、匿名內部類
重點:
1、靜態內部類===》外部類的靜態數據成員 static所修飾的類
如何得到靜態內部類對象呢?
OuterClass.InnerClass in1 = new OuterClass.InnerClass();
在靜態內部類當中,可以訪問外部類的靜態數據成員。

2、實例內部類===》外部類的實例數據成員
 問題:如何得到實例內部類對象
  OuterClass outerClass = new OuterClass();
  OuterClass.InnerClass in1 = outerClass.new InnerClass();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章