面向?qū)ο螅∣OP)一

@小煥哥


面向?qū)ο蟮幕咎匦?/h2>
  1. 萬(wàn)物皆為對(duì)象。

將對(duì)象視為奇特的變量,它可以?xún)?chǔ)存數(shù)據(jù),除此之外你還可以要求它在自身上執(zhí)行操作。理論上將,你可以抽取待求解問(wèn)題的任何概念化為構(gòu)件,將其表示為程序中的對(duì)象。

  1. 程序是對(duì)象的集合,它們通過(guò)發(fā)送信息來(lái)告知彼此要做的。

想要請(qǐng)求一個(gè)對(duì)象就必須對(duì)該對(duì)象發(fā)送一條信息。更具體的說(shuō)??梢园严⑾胂鬄閷?duì)某個(gè)特定對(duì)象的調(diào)用請(qǐng)求。

  1. 每個(gè)對(duì)象都有自己的由其他對(duì)象所構(gòu)成的儲(chǔ)存。

可以通過(guò)創(chuàng)建包含現(xiàn)有對(duì)象的包的方式來(lái)創(chuàng)建新類(lèi)型的對(duì)象。

  1. 每個(gè)對(duì)象都擁有其類(lèi)型。

每個(gè)對(duì)象都是某個(gè)“類(lèi)”的一個(gè)實(shí)例,每個(gè)類(lèi)最重要的區(qū)別于其它類(lèi)的特性就是“可以發(fā)送什么樣的數(shù)據(jù)給它”。

  1. 某一特定類(lèi)型的所有對(duì)象都可以接收同樣的消息。

方法的重載

在日常生活中,相同的詞可以表達(dá)不同的含義————它們被“重載”了。

  • 方法的重載發(fā)生在一個(gè)類(lèi)中,方法名稱(chēng)相同,參數(shù)列表不同。
    class Bird {//編譯器會(huì)根據(jù)傳入的參數(shù)自動(dòng)選擇合適的方法
      Bird(int i){}
      Bird(double b){}
    }
    //注意:當(dāng)重載涉及到數(shù)據(jù)類(lèi)型大小轉(zhuǎn)換時(shí),會(huì)自動(dòng)由小到大提升,而由大到小必須事先強(qiáng)轉(zhuǎn)
    
    
  • 當(dāng)沒(méi)有構(gòu)造器時(shí)編譯器會(huì)自動(dòng)創(chuàng)建一個(gè)默認(rèn)的構(gòu)造器,但當(dāng)類(lèi)中已經(jīng)定義了一個(gè)構(gòu)造器,則編譯器不會(huì)自動(dòng)創(chuàng)建默認(rèn)構(gòu)造器。
    class Bird2{
    Bird2(int i){}
    Bird2(double b){}
    }
    public class Tree{
      public static void main(String[] args){
      Bird2 p=new Bird2();//報(bào)錯(cuò),構(gòu)造函數(shù)未定義
      Bird2 p1=new Bird2();
      Bird2 p2=new Bird2();
      }
    }
    
    

構(gòu)造方法

  • 構(gòu)造方法的方法名必須與類(lèi)名一致。
  • 構(gòu)造方法沒(méi)有返回類(lèi)型,也不能定義為void,在方法名前面不聲明方法類(lèi)型。
  • 構(gòu)造方法的作用是完成對(duì)象的初始化工作,他能夠把定義對(duì)象時(shí)的參數(shù)傳遞給對(duì)象的域。
  • 構(gòu)造方法不能由編程人員調(diào)用,而要系統(tǒng)調(diào)用。
  • 構(gòu)造方法可以重載,以參數(shù)的個(gè)數(shù),類(lèi)型,或排序順序區(qū)分。
    public class Car{
      String color;
      String brand;
      public Car(){//構(gòu)造
        brand="奧迪";
        color="黑色";
      }
    }
    
    

構(gòu)造函數(shù)的重載參見(jiàn)上個(gè)知識(shí)點(diǎn)

this的用法

  • this關(guān)鍵字只能在方法內(nèi)部使用,表示對(duì)“調(diào)用方法的那個(gè)對(duì)象”的引用。this 的使用方法與其他對(duì)象引用一樣,但要注意在方法內(nèi)部調(diào)用同一個(gè)類(lèi)的另一個(gè)方法就不必使用this
    public class Apricot{
      void pick(){}
      void pit(){
        pick();//這里不用使用this
      }
    }
    
    
  • 只有當(dāng)需要明確指出對(duì)當(dāng)前對(duì)象的引用時(shí),才需要使用this關(guān)鍵字
  • 區(qū)分類(lèi)中參數(shù)名稱(chēng)相同時(shí)使用的變量
public class Book {
   private String title;
   private String author;
   private double price;
   public Book(String title,String author,double price) {
       this.title=title;
       this.author=author;
       this.price=price;
   }
   
   public String getTitle() {
       return title;
   }
   
   public String getAuthor() {
       return author;
   }
   
   public double getPrice() {
       return price;
   }

}

未完待續(xù).............

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容