国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Java零基礎(chǔ)入門篇】第 ③ 期 - 面向?qū)ο缶幊蹋ㄒ唬?/h1>

這篇具有很好參考價值的文章主要介紹了【Java零基礎(chǔ)入門篇】第 ③ 期 - 面向?qū)ο缶幊蹋ㄒ唬?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【Java零基礎(chǔ)入門篇】第 ③ 期 - 面向?qū)ο缶幊蹋ㄒ唬?/h2>

博主:命運之光
專欄:Java零基礎(chǔ)入門

【Java零基礎(chǔ)入門篇】第 ③ 期 - 面向?qū)ο缶幊蹋ㄒ唬? referrerpolicy=

理解面向?qū)ο笕笾饕卣鳎?br> 掌握類與對象的區(qū)別與使用;
掌握類中構(gòu)造方法以及構(gòu)造方法重載的概念及使用;
掌握包的定義、包的作用等;
掌握方法的參數(shù)傳遞規(guī)則。


方 法

方法的定義

????方法在很多地方被稱為函數(shù)(在Java中英文單詞是Method,而在其他語言中為function),方法是一段可以被重復(fù)調(diào)用的代碼塊,實現(xiàn)一個功能,一個動作或一種行為。
方法定義語法如下:

修飾符 返回值類型 方法名稱( [ 參數(shù)類型 參數(shù)變量, ... ]) {
	方法體(本方法要執(zhí)行的若干操作) ;
	[ return [返回值] ; ]
}
  • 修飾符 :public static ;

  • 返回值類型:方法執(zhí)行結(jié)果的數(shù)據(jù)類型;

  • 方法名: 符合標(biāo)識符命名規(guī)則;

  • 參數(shù)列表:方法執(zhí)行需要的條件;

    • 參數(shù)類型: 可以是基本數(shù)據(jù)類型,也可以是引用類型;
    • 參數(shù)名: 即變量名;
  • 方法體語句: 完成特定功能的代碼;

  • return: 返回,用來返回一個值或結(jié)束方法;

  • 返回值: 方法執(zhí)行之后的結(jié)果,返回給方法的使用者,若方法沒有返回值,則返回值類型為void。

主方法

????Java的每一個應(yīng)用程序都必須包含一個main()方法,稱為主方法。主方法是程序開始執(zhí)行的位置,語法格式如下:

publlic static void main(String[ ] args){
	//方法體
}

說明:
1、主方法是靜態(tài)的(static),所以如要直接在主方法中調(diào)用其他方法,則該方法必須也是靜態(tài)的;
2、主方法沒有返回值;
3、主方法的形參為字符串?dāng)?shù)組。其中args[0]~args[n]分別代表程序的第一個參數(shù)到第n個參數(shù)。(可以通過args.length獲取參數(shù)的個數(shù))

方法的調(diào)用

定義:使用方法的過程稱為方法的調(diào)用
格式: 方法名([實參列表]);

  • 方法需先定義,后使用;
  • 若方法無參數(shù),調(diào)用時括號里什么都不寫,但括號不能省略。

無參數(shù)無返回值的方法

????例1:定義一個沒有參數(shù)沒有返回值的方法。

public class text1 {
    public static void main(String args[]) {
        printInfo(); 		// 直接調(diào)用方法
        printInfo(); 		// 直接調(diào)用方法
    }
    public static void printInfo() {	// 定義沒有參數(shù),沒有返回值的方法
        System.out.println("*********************");
        System.out.println("*   www.yootk.com   *");
        System.out.println("*********************");
    }
}

【Java零基礎(chǔ)入門篇】第 ③ 期 - 面向?qū)ο缶幊蹋ㄒ唬? referrerpolicy=

有參數(shù)無返回值的方法

形參:全稱形式參數(shù),是指方法定義中的參數(shù);
實參:全稱實際參數(shù),方法調(diào)用中的參數(shù);
【Java零基礎(chǔ)入門篇】第 ③ 期 - 面向?qū)ο缶幊蹋ㄒ唬? referrerpolicy=
????例2:定義一個有參數(shù)無返回值的方法。

public class text1 {
    public static void main(String args[]) {
        pay(10.0);			// 調(diào)用方法
        pay(-10.0);			// 調(diào)用方法
    }
    //定義一個支付的操作方法,如果支付金額大于0則正常支付,否則會輸出錯誤提示信息
    public static void pay(double money) { 	// 購買支付操作
        if (money > 0.0) { 	// 現(xiàn)在已經(jīng)給錢
            System.out.println("可以進(jìn)行支付!");
        } else {		// 不能夠支付
            System.out.println("沒錢還買東西!");
        }
    }
}

【Java零基礎(chǔ)入門篇】第 ③ 期 - 面向?qū)ο缶幊蹋ㄒ唬? referrerpolicy=

帶返回值的方法

????我們經(jīng)常會根據(jù)一個方法產(chǎn)生的結(jié)果,去組織另外一段代碼邏輯,為了獲得該方法產(chǎn)生的結(jié)果,就需要方法能夠?qū)⒔Y(jié)果返回。
????例3:定義一個有返回值有參數(shù)的方法(比較兩個整數(shù)是否相等)。

public class text1 {
    public static void main(String args[])
    {
        boolean is;
        is = compare(40,40);
        System.out.println("比較的結(jié)果是:"+is);
    }
    public static boolean compare(int x,int y){
        return x==y;
    }
}

【Java零基礎(chǔ)入門篇】第 ③ 期 - 面向?qū)ο缶幊蹋ㄒ唬? referrerpolicy=

通過賦值語句來保存調(diào)用方法后得到的返回值,并且,變量類型要和返回值類型一致

return后的數(shù)據(jù)類型需和方法返回值的類型匹配

注意事項

  • 方法不能嵌套定義
  • 方法的返回值類型為void,表示該方法沒有返回值,沒有返回值的方法可以省略return語句不寫,如果要編寫return,后面不能跟具體的數(shù)據(jù)。
  • return語句下面,不能編寫代碼,因為永遠(yuǎn)執(zhí)行不到,屬于無效的代碼。

方法重載

同一個類中的多個方法,它們的方法名相同,參數(shù)列表不同,這樣的情況,稱為方法重載。方法重載與修飾符返回值類型無關(guān)。

參數(shù)列表不同:個數(shù)不同、類型不同或順序不同

調(diào)用方法的時候,Java虛擬機(jī)通過參數(shù)的不同區(qū)分同名的方法。

????例:觀察方法重載。

public class text1 {
    public static void main(String args[]) {
        // 方法重載之后執(zhí)行時會根據(jù)傳入?yún)?shù)的類型或個數(shù)的不同調(diào)用不同的方法體
        System.out.println("兩個整型參數(shù):" + add(10, 20));
        System.out.println("三個整型參數(shù):" + add(10, 20, 30));
        System.out.println("兩個浮點型參數(shù):" + add(10.2, 20.3));
    }
    public static int add(int x, int y) { 	// add()方法一共被重載三次
        return x + y;
    }
    public static int add(int x, int y, int z) { // 與之前的add()方法的參數(shù)個數(shù)不一樣
        return x + y + z;
    }
    public static double add(double x, double y) {// 與之前的add()方法的參數(shù)類型不一樣
        return x + y;
    }
}

【Java零基礎(chǔ)入門篇】第 ③ 期 - 面向?qū)ο缶幊蹋ㄒ唬? referrerpolicy=
【Java零基礎(chǔ)入門篇】第 ③ 期 - 面向?qū)ο缶幊蹋ㄒ唬? referrerpolicy=

面向?qū)ο蠛喗?/h3>

面向過程(POP) 與 面向?qū)ο?OOP)

面向?qū)ο螅?/font>Object Oriented Programming
面向過程:Procedure Oriented Programming

二者都是一種思想,面向?qū)ο笫?font color="red">相對于面向過程而言的。
面向過程,強(qiáng)調(diào)的是功能行為,以函數(shù)為最小單位,考慮怎么做
面向?qū)ο?/font>,將功能封裝進(jìn)對象,強(qiáng)調(diào)具備了功能的對象,以類/對象為最小單位,考慮誰來做。

面向?qū)ο蠛兔嫦蜻^程的區(qū)別:
主要在于做事方式的不同,一個關(guān)注事物(對象),另一個關(guān)注于過程(步驟)。

面向?qū)ο蟮乃枷敫攀?/h4>
  • 面向?qū)ο笏枷胩攸c

    • 是一種更符合人們思考習(xí)慣的思想;
    • 把復(fù)雜的事情簡單化;
    • 把人們從執(zhí)行者變成了指揮者;
  • 面向?qū)ο蟮某绦蜷_發(fā)

    • 即不斷的找對象,使用對象,指揮對象做事情的過程。若沒有對象? 創(chuàng)建一個!
  • 面向?qū)ο笏枷胩卣?/p>

    • 封裝;
    • 繼承;
    • 多態(tài);

面向?qū)ο蟮闹饕卣?/h4>
  • 繼承性
    主要描述的是類與類之間的關(guān)系,通過繼承,可以在無需重新編寫原有類的情況下,對原有類的功能進(jìn)行擴(kuò)展

  • 多態(tài)性
    指的是在程序中允許出現(xiàn)重名現(xiàn)象,它指在一個類中定義的屬性和方法被其它類繼承后,它們可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為,這使得同一個屬性和方法在不同的類中具有不同的語義。

  • 封裝性
    封裝是面向?qū)ο蟮姆椒ㄋ鶓?yīng)遵循的一個重要原則。它有兩個含義:一是指把對象的屬性行為看成一個密不可分的整體,將這兩者“封裝”在一個不可分割的獨立單位(即對象)中。另一層含義指“信息隱蔽”,把不需要讓外界知道的信息隱藏起來,有些對象的屬性及行為允許外界用戶知道或使用,但不允許更改,而另一些屬性或行為,則不允許外界知曉;或只允許使用對象的功能,而盡可能隱蔽對象的功能實現(xiàn)細(xì)節(jié)。

類與對象

  • 面向?qū)ο蠓治龇椒ǚ治鰡栴}的思路和步驟:
    • 根據(jù)問題需要,選擇問題所針對的現(xiàn)實世界中的實體(一種事物)。
    • 從實體中尋找解決問題相關(guān)的屬性功能,這些屬性和功能就形成了概念世界中的
    • 把抽象的實體用計算機(jī)語言進(jìn)行描述,形成計算機(jī)世界中類的定義。即借助某種程序語言,把類構(gòu)造成計算機(jī)能夠識別和處理的數(shù)據(jù)結(jié)構(gòu)。
    • 類實例化成計算機(jī)世界中的對象,對象是計算機(jī)世界中解決問題的最終工具。

Java中如何描述一個事物?
Java中通過“類”來描述事物,類主要由屬性和行為構(gòu)成。
類是一系列具有相同屬性和行為的事物的統(tǒng)稱。

我們在現(xiàn)實世界中看到的其實都是對象。

對象

現(xiàn)實世界中,萬事萬物皆對象,對象是某一類事物某個具體存在,如張三、小明的書桌、教室的計算機(jī)、王五的汽車等,所以對象表示的是一個個獨立的個體。

通常都會將對象劃分為兩個部分,即動態(tài)部分靜態(tài)部分。
靜態(tài)部分,顧名思義就是不能動的部分,這個部分被稱為“屬性”,任何對象都會具備其自身屬性,如一個人,它包括高矮、胖瘦、性別、年齡等屬性。
然而具有這些屬性的人會執(zhí)行哪些動作也是一個值得探討的部分,這個人可以哭泣、微笑、說話、行走,這些是這個人具備的行為動態(tài)部分
通過探討對象的屬性和觀察對象的行為了解對象。

類和對象

面向?qū)ο蟪绦蛟O(shè)計的重點是類的設(shè)計
類的設(shè)計,其實就是類的成員的設(shè)計

類:用來描述特征信息及功能等,不能實際使用。
對象:根據(jù)類的描述創(chuàng)造出來的,可以實際使用。

類的定義

定義類的過程,就是把一系列相關(guān)事物共同的屬性和行為抽取出來的過程。

事物的屬性,在類中叫成員變量;
事物的行為,在類中叫成員方法

語法格式:

【修飾符】 class  類名稱{
	成員變量定義;          //屬性
	成員方法定義;	      //行為	
}
  • 對于類(class)的權(quán)限修飾:可以用publicdefault(缺省)
    • public類可以在任意地方被訪問;
    • default類只可以被同一個包內(nèi)部的類訪問。
  • 類的名稱符合合法的標(biāo)識符定義。

類的成員——屬性

屬性 = 成員變量 = field = 域、字段

語法格式:修飾符 數(shù)據(jù)類型 屬性名 ;
修飾符 數(shù)據(jù)類型 屬性名 = 初始化值 ;

說明1: 修飾符
常用的權(quán)限修飾符有:private、缺省、protected、public
說明2:數(shù)據(jù)類型
任何基本數(shù)據(jù)類型(如int、Boolean) 或 任何引用數(shù)據(jù)類型。
說明3:屬性名
屬于標(biāo)識符,符合命名規(guī)則和規(guī)范即可。

類的成員——方法

成員方法 = 函數(shù) = method
語法格式:

權(quán)限修飾符 返回值類型 方法名[參數(shù)類型 參數(shù)名1, 參數(shù)類型 參數(shù)名2……]){
//方法體語句
[ return 返回值;]
}

成員方法的格式說明 :
除了權(quán)限修飾符不加Static以外,其他同一般方法。

????舉例:定義一個person類

class Person{//定義成員變量(屬性)
		String    name;        //姓名
		int          age;      //年齡
		boolean    isMale;     //性別
		public  void sleep(){
			System.out.println(“人能睡覺”);
		}  
		public  void walk(){//定義成員方法(行為)
			System.out.println(“人能走路……”);
		}  
}

????舉例:定義一個Book類

class Book { 				// 定義一個Book類
	String title; 			// 書的名字
	double price; 			// 書的價格
	
       //輸出對象完整信息
	public void getInfo() { 		// 此方法將由對象調(diào)用
		System.out.println("圖書名稱:" + title + ",價格:" + price);
	}
}

關(guān)于public class與class聲明類的區(qū)別:

  • public class:文件名稱必須與類名稱保持一致,在一個*.java文件里面只能夠有一個public class聲明,稱為主類,如果一個類需要被不同的包所訪問,那么一定要定義為public class;
    - class:文件名稱可以與類名稱不一致,并且一個*.java文件里面可以有多個class定義,編譯后會形成多個*.class文件,這個類只能夠被本包所訪問。

對象的創(chuàng)建和使用

  • 對象定義格式

    格式一:聲明并實例化對象
    類名稱 對象名稱 = new 類名稱 () ;
    格式二:分步完成
    聲明對象:類名稱 對象名稱 = null ;
    實例化對象:對象名稱 = new 類名稱 () ;

  • 操作類結(jié)構(gòu):

    • 對象.屬性:表示要操作類中的屬性內(nèi)容;
    • 對象.方法():表示要調(diào)用類中的方法。

????案例: 使用類 —— 在主類中使用Book類。

class Book { 					// 定義一個新的類
    String title; 				// 書的名字
    double price; 				// 書的價格
    public String getInfo() { 			// 此方法將由對象調(diào)用
        return "圖書名稱:" + title + ",價格:" + price);
    }
}
public class text1 {
    public static void main(String args[]) {
        Book bk = new Book() ;		// 聲明并實例化對象
        bk.title = "Java開發(fā)" ;	 	// 操作屬性內(nèi)容
        bk.price = 89.9 ;			// 操作屬性內(nèi)容
        System.out.println (bk.getInfo()) ;	 // 調(diào)用類中的getInfo()方法
    }
}

【Java零基礎(chǔ)入門篇】第 ③ 期 - 面向?qū)ο缶幊蹋ㄒ唬? referrerpolicy=文章來源地址http://www.zghlxwxcb.cn/news/detail-442386.html

對象內(nèi)存分配

  • 類本身屬于引用數(shù)據(jù)類型,對于引用數(shù)據(jù)類型的執(zhí)行分析就必須結(jié)合內(nèi)存操作來看:
    • 堆內(nèi)存(heap):保存每一個對象的屬性內(nèi)容,堆內(nèi)存需要用關(guān)鍵字new才可以開辟,如果一個對象沒有對應(yīng)的堆內(nèi)存指向,那么將無法使用;
    • 棧內(nèi)存(stack):保存的是一塊堆內(nèi)存的地址數(shù)值,可以把它想象成一個int型變量(每一個int型變量只能存放一個數(shù)值),所以每一塊棧內(nèi)存只能夠保留一塊堆內(nèi)存地址;

到了這里,關(guān)于【Java零基礎(chǔ)入門篇】第 ③ 期 - 面向?qū)ο缶幊蹋ㄒ唬┑奈恼戮徒榻B完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包