JAVA面向物件程式設計基礎
方法:
1、類似函式
public class Demo
{
int sum()
{
return 1+1;
}
public static void main(String[] args)
{
Demo d=new Demo();
int a=d.sum();
System.out.println(a);
}
}
2、方法的引數
public int add(int x,int y) { x=x+y; return x; }
不定長引數
public class Demo { int sum(int...x) { for(int i=0;i<x.length;i++) { System.out.println(x[i]); } } public static void main(String[] args) { Demo d=new Demo(); int a=d.sum(37,48,302,3,482,2,5);//只要引數用逗號隔開,這些數就會自動變成陣列 System.out.println(a); } }
說明:①引數可以有多個,不限型別 ②每一個引數都必須宣告引數型別 ③呼叫方法時,一定要注意引數的順序
3、成員方法就是JAVA中類的行為
4、構造方法:是一個與類同名的方法,物件的建立就是通過構造方法完成的
public class Bird
{
public Bird(){}//Bird類的構造方法
}
注意:①構造方法名與類同名 ②構造方法沒有返回值
1》、私有構造方法: private 修飾, 無法用new例項化
區域性變數:①如果在成員方法內定義一個變數,那麼這個變數被稱為區域性變數
②區域性變數是在方法被執行時建立,在方法執行結束時被銷燬
③區域性變數在使用時必須賦值操作或被初始化,否則會出現編譯錯誤
④不同區域的同名變數
物件的建立:使用new操作符呼叫構造方法就可以建立一個物件,但String str1="abc", 這種也是屬於建立物件
物件的銷燬:① 垃圾回收時首先呼叫 finalize()方法
②強制啟動垃圾回收器 System.gc();
this關鍵字:① this代表類本身的物件
②this呼叫自身構造方法,構造方法之前不可以做任何的初始化操作,但之後可以
public class Bird
{
String name;
public Bird()
{
//int i=1;錯誤,在構造方法之前不可以做任何的初始化操作,
this("企鵝");
//int i=1;放之後可以
}
public Bird(String name)
{
this.name=name;
}
}
static關鍵字:①靜態程式碼和整個程式的生命週期一致
②靜態變數:1》共享變數 static public int water=0;
2》同一個類的不同例項物件,可以共用同一靜態變數
靜態方法:無需例項化就可以呼叫(無需建立類的物件)
靜態程式碼塊:在物件宣告時就執行
static
{
System.out.println("這是靜態程式碼塊");
}
{
System.out.println("這裡是非靜態程式碼塊");
}