1. 程式人生 > 資訊 >人力資源和社會保障部:北京從事軟體和資訊服務業的新生代農民工佔比大幅提高

人力資源和社會保障部:北京從事軟體和資訊服務業的新生代農民工佔比大幅提高

面向物件程式設計【oop】

什麼是面向物件

面向物件程式設計的本質就是:以類的方式組織程式碼,以物件的組織(封裝
)資料。


抽象


三大特性:封裝、繼承、多型


從認識論角度考慮是先有物件後有類。
物件,是具體的事物。
類,是抽象的,是對物件的抽象。


從程式碼執行角度考慮是先有類後有物件的。

類是物件的模板。


方法的呼叫

靜態方法有static的可以直接在主類中呼叫

非靜態方法要例項化才能呼叫

公共類要和主類在同一檔案中


形參和實參

形式引數和實際引數的型別要一致

public static void main(String[] args){
  int add = add(1,2);// 實參
}

public static int add (int a ,int b){// 形參
  return a+b;
}

值傳遞

public class Demo04{
  public static void main(String[] args){
    int a=1;
    System.out.println(a);//1
    
    Demo04.change(a);
    System.out.println(a);//1
  }
  
  //返回值為空
  public static void change(int a ){
    a=10;
  }
}

引用傳遞

物件,本質還是值傳遞

public class Demo05{
  public static void main(String[] args){
    Person person = new Person();
    
    System.out.pringln(person.name);//null
    
    Demo05.change(person);
    
    System.out.println(person.name);//陳
  }
  
  public static void change(Person person){
    //person是一個物件:指向的--》Person person= new Person();這是一個具體的人可以改變
    person.name="陳";
  }
}

//定義了一個Person類,有一個屬性:name
class Person{
  String name;//null
}

類與物件

類是一種抽象的資料型別,它是對某一類事物整體描述/定義,但是並不能代表某一個具體的事物。

物件是抽象概念的具體例項

類是抽象的它需要例項化。

類:靜態的屬性、動態的行為


構造器

一個類即使什麼都不寫,它也會存在一個方法。

建構函式基本上定義了兩個規則。分別如下:

  • 建構函式名必須與其類名稱相同
  • 建構函式必須沒有顯式返回型別

建立物件記憶體分析

main方法在棧底部

物件是通過引用操作的:棧---》堆