JAVA 面向物件基礎(1)
阿新 • • 發佈:2018-12-29
歡迎大佬們指正批評。
- 方法
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);
}
}