面向對象基礎(1)

對象是什么?

以下都是自己的讀書有感,源代碼是C#,自己配上java代碼吧,希望大家多多批評指正:

萬物皆對象,可以看到、摸到、聽到、聞到的實體。具有事物的特性標識。

現(xiàn)在要寫個java代碼可以在控制臺打印出貓叫(“喵”)


package demo;

public class CatShout {

public static void main(String[] args) {

System.out.println("喵");

}

}

如果要打印好幾遍貓叫,可以寫好幾遍

System.out.println("喵");

但是是重復了,所以要想個別的辦法,也就是要寫個函數(shù):

public class CatShout? {

public static void main(String[] args) {

System.out.println(Shout());

}

public static String Shout(){

return "喵";

}

}

此出方法也用static修飾的原因是main 方法也用static修飾了。

但是上面的代碼有問題,Shout()加了public就是公共的,其他地方也都都可以訪問,就好像公共物品放在某人的家里,別人用的時候就去他家,這樣明顯不合理,所以公共物品要放在公共場合。這也就是類的誕生。


類是什么?

類是具有相同的屬性和功能的對象的集合。

舉個栗子:某貓的名字叫小黑。小黑就是一個對象。貓就是個類。

所以要寫個類:

public class Cat {

public String Shout(){

return "喵";

}

}

然后創(chuàng)建一個對象進行使用:

public class CatShout? {

public static void main(String[] args) {

Cat cat = new Cat();

System.out.println(cat.Shout());

}

}


注意Cat cat = new Cat();做了兩件事:(1)聲明了一個Cat的對象起名為cat(2)將cat實例化

就相當于一只貓生了一只小貓。



構造方法

構造方法又叫構造函數(shù)同時還是構造器,其實就是對類進行初始化。并且與類同名,無返回值,也不需要void,在new的時候調用。

也許在咱們樓上用到new的時候咱們沒有寫構造方法,很奇怪,原因是:所有的類都有構造方法,如果不寫,則系統(tǒng)會默認生成一個空的構造方法,如果你寫了那默認的就失效了。

比如說樓上有小貓了,我們要給小貓起名字。那么就應該用到帶參數(shù)的構造方法了。

public class Cat {

private String name ="";

public Cat(String name) {

this.name = name; }

public String Shout(){

return "我是"+name+"喵";

}

}

public class CatShout {

public static void main(String[] args) {

Cat cat = new Cat("咪咪");

System.out.println(cat.Shout());

}

}




方法重載

如果提前沒有準備小貓的名字就不能創(chuàng)建了嗎?答案是否定的,這就用到了方法的重載。方法的重載就是與方法名相同,參數(shù)的類型,個數(shù)不一樣。

public class Cat {

private String name ="";

public Cat(String name) {

this.name = name;

}

public Cat() {

this.name= "沒想好";

}

public String Shout(){

return "我是"+name+"喵";

}

}

public class CatShout {

public static void main(String[] args) {

Cat cat = new Cat("咪咪");

Cat cat1 = new Cat();

System.out.println(cat.Shout());

System.out.println(cat1.Shout());

}

}


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

相關閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,805評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,665評論 19 139
  • 你說 你想改變我 變成昔日落日前牽著的 變成舊時課間瞥著的 變成那會電話中叨叨的 變成兒時夢中掛念的 我是 沉默著...
    昨天的現(xiàn)在的未來閱讀 343評論 0 1
  • (三) 老木再回到那個山崗,已經是二十年后了。那是因為秋生的一個消息:“你娘去了……”那天他請秋生吃飯,慶祝他大女...
    淋瀟微語閱讀 451評論 0 0
  • 「晚安電臺」余下的一生,我也需要這自尊心的如影相隨。 年初時候,一個人在假日閑來無事,便又重溫了電影——《失戀三十...
    MC明亮閱讀 1,127評論 0 0

友情鏈接更多精彩內容