1. 程式人生 > >JAVA 面向物件基礎(1)

JAVA 面向物件基礎(1)

歡迎大佬們指正批評。

  1. 方法
    1.1 各種語言都有方法的概念(有的稱為函式或面向過程)
    1.1.1)封裝一段特定的業務邏輯或功能;
    1.1.2)方法需要儘可能的獨立;
    1.1.3)方法可以被反覆呼叫多次
    1.1.4)減少程式碼的重複,有利於程式碼的維護,有利於團隊協作。
    1.2 返回值
    返回值是方法的一個很重要的特性,方法可以有返回值,也可以沒有。
    1.2.1)無返回值:void:
    有返回值:返回值可以是基本型別,也可以是引用資料型別;
    1.2.2)方法操作後如果還需要用到方法中的某些資料,則需要有返回值反
    之則無返回值。
    1.2.3)只要方法有返回值,則必須有return+返回值型別的引數。
    1.2.4)方法的注意事項
    a.宣告的引數稱為形參;
    b.實際賦值的引數稱為實參;
    1.3 return的使用說明
    1.3.1)返回結果給呼叫方;(return+返回值)
    1.3.2)結束方法的執行,必須用在無返回值的方法中,當方法執行到return語句時,會結束方法的執行,同時也會結
    束迴圈的執行。
    1.4 構造方法
    構造方法也是方法的一種。但是在實際應用中需要注意以下事項:
    1.4.1)構造方法的作用是給成員變數賦值;
    1.4.2)必須要與類同名,且無返回值型別,但是不能寫void;
    1.4.3)在建立物件時自動呼叫。
    1.5 方法的過載
    方法簽名的概念:在一個方法中,方法名和引數列表加在一起成為方法的 簽名。
    1.5.1)在同一個類中,不可以出現多個簽名相同的方法。
    1.5.2)在同一個類中,方法名相同引數列表不相同,成為方法的過載
    (和返回值型別無關),編譯器在編譯時,會根據簽名自動繫結方法

    1.5.3)java中不能使用返回值型別作為方法過載的依據。
    1.6 final方法
    1.6.1)final修飾的方法不可以被重寫(重寫的概念我會在接下來的部落格中介紹),
    1.6.2)final修飾的private方法,依然可以在其子類中定義一個有相同方法名,相同引數列表,相同返回值的方法
    此時,派生類類並不是重寫了超類的方法。
    1.6.3)final修飾的方法可以被過載
    1.7 方法的重寫
    1.7.1)基於繼承
    1.7.2)發生在超類和派生類中,方法名稱,引數列表相同,方法體不同。
    例:package methodDemo;
    /**
  • 方法,
  • 有返回值的方法,
  • 無返回值的方法,
  • 構造方法,
  • 方法的重寫,
  • @author Administrator

/
public class demo01 {
public static void main(String[] args) {//主方法
method();//在主方法中呼叫方法
method(“hello world!”);//呼叫方法是定義一個實參,傳遞呼叫的的方法
fun(1);
fun(0);
Aoo a=new Aoo();//例項化一個物件
Aoo a1=new Aoo(1,3);//為Aoo類中的成員變數賦值
a.print();
a1.print();
}
/

*
* 建立一個方法,方法的功能為輸出“helloworld!”
/
public static void method(){
System.out.println(“hello world!”);
}
/
*
* 定義有返回值的一個方法,返回值型別為String,和上面一個方法構成過載,同時定義了一個String型別的
* 形式引數,同時輸出該引數
* @param str
* @return
/
public static String method(String str){
System.out.println(str);
return str;
}
public static void fun(int i){//定義一個int型別的形參
if(i==1){//判斷傳遞進來的引數是否為1
System.out.println(“輸入的值是1”);
return;//跳出迴圈,同時結束方法的執行
}
System.out.println(“輸入的值不是1”);
}
}
class Aoo{
public int x;
public int y;
/
*
* 建立一個構造方法
* 如果在類中不自己建立一個構造方法,則會生成一個預設的如下構造方法
* 如果想要給成員變數x,y賦值,則在例項化時為成員變數傳遞引數即可
*/
public Aoo(){

}
public Aoo(int x ,int y){
	this.x=x;
	this.y=y;
}
public void print(){
	System.out.println("x:"+x+",y:"+y);
}

}