(一) 與Exul 絕對的位置意思一樣
(二)Java class 的 attribute 屬性 ( field , method ) ,應用面分為:
1) 物件類屬性
=>每一筆資料物件都須配置自己專屬內容的屬性,
EX: 姓名、地址........
=> 需要透過 物件 存取
=> 物件名,屬性( fild , method )
2) 類別類 => 在物件產生前,先定義完成
=> 所有的資料物件共通使用的屬性
Ex: 相同公司名 , 學校名稱.....
=> 存取呼叫方式
一.物件名稱 .屬性
二.類別名. 屬性
( class )
\
(三) 實際應用
1.fild
2.method
a) 內容如有使用 fild 變數 ,限定 studic
b) 不可搭配 this 使用 ,this 指物件
3. inner class 內部類別
算式: fv = pv*(1+r*n);
例子:
class FV { private static int pv; //可以看到加上 static 後變成 絕對位置 跟 EX的 加上$ 一樣 private double r; private int n ; private int fv; //加上 private 不能讓人隨意修改 FV(int pv, double r, int n ) { this.pv = pv ; this.r = r; this.n = n; fv=(int)(pv*(1+r*n)); } void setPv (int pv) { if(pv> 0 ) //大於 0 才進行修改 { this.pv = pv ; } } void setR (double r) { if(r> 0 ) //大於 0 才進行修改 { this.r = r ; } } void setN (int n) { if(n> 0 ) //大於 0 才進行修改 { this.n = n ; } } void show() { fv=(int)(pv*(1+r*n)); System.out.println( "本金" + pv + "\t年利率 :"+r+ "\t年:"+n+ "\t單利本利和:" +fv ); }
#class 會先創建 PV 如果 先引用 他就會被創建出來 例子如下 當FV.pv = 20000; 在使用NEW 創建就都匯存進 同一個格子
範例:
class FV { static int pv; //可以看到加上 static 後變成 絕對位置 跟 EX的 加上$ 一樣 private double r; private int n ; private int fv; //加上 private 不能讓人隨意修改 FV(int pv, double r, int n ) { this.pv = pv ; this.r = r; this.n = n; fv=(int)(pv*(1+r*n)); } void setPv (int pv) { if(pv> 0 ) //大於 0 才進行修改 { this.pv = pv ; } } void setR (double r) { if(r> 0 ) //大於 0 才進行修改 { this.r = r ; } } void setN (int n) { if(n> 0 ) //大於 0 才進行修改 { this.n = n ; } } void show() { fv=(int)(pv*(1+r*n)); System.out.println( "本金" + pv + "\t年利率 :"+r+ "\t年:"+n+ "\t單利本利和:" +fv ); } }
class addFV
{
public static void main (String args[])
{
FV.pv = 20000; //因為 加上 static
FV f1 = new FV(10000 , 0.01, 6); //每一次創建 都會被寫入FV
FV f2 = new FV(20000 , 0.02, 6); //每一次創建 都會被寫入FV
FV f3 = new FV(30000 , 0.03, 6); //每一次創建 都會被寫入FV
FV f4 = new FV(40000 , 0.04, 6); //每一次創建 都會被寫入FV 因最後是四萬 最後FV 為四萬
f1.show();
f2.show();
f3.show();
f4.show();
System.out.println("==========================================");
//f1.pv = - 20000;
//f1.setPv(-20000); //寫入 負2萬本金 驗證 前方是否可輸入為 "負數"
f1.setPv(40000); // 因前面加入了 static 變成絕對數 所以全部人都會變成 4萬
f1.setR(0.014); //沒有加上 static 只有 f1 的利息 變成0.014
f1.show();
f2.show();
f3.show();
f4.show();
}
}
執行結果:
.修改名子
class FV { static int pv; double r; private int n; private int fv; FV(double r,int n) { this.r=r; this.n=n; fv=(int)(pv*(1+r*n)); } void setPv(int pv) { if(pv>0) { this.pv=pv; } } void setR(double r) { if(r>0) { this.r=r; } } void setN(int n) { if(n>0) { this.n=n; } } static void title() //static 所以創建Class 所以不用宣告 { System.out.println("本金\t年利率\t年\t單利本利和"); } void show() { fv=(int)(pv*(1+r*n)); System.out.println(pv+"\t"+r+"\t"+n+"\t"+fv); } }
class addFV { public static void main(String args[]) { FV.pv=100000; FV.title(); //新增引用 title FV f1=new FV(0.01,6); FV f2=new FV(0.011,5); FV f3=new FV(0.012,4); FV f4=new FV(0.013,3); f1.show(); f2.show(); f3.show(); f4.show(); System.out.println("==========================="); } }
執行結果:
.static 如果放在計算式 這樣他的變數 也要使用 static 不然會報錯誤
例子
class FV { static int pv; double r; private int n; private int fv; FV(double r,int n) { this.r=r; this.n=n; fv=(int)(pv*(1+r*n)); } void setPv(int pv) { if(pv>0) { this.pv=pv; } } void setR(double r) { if(r>0) { this.r=r; } } void setN(int n) { if(n>0) { this.n=n; } } static void title() { System.out.println("本金\t年利率\t年\t單利本利和"); } static void show() { fv=(int)(pv*(1+r*n)); System.out.println(pv+"\t"+r+"\t"+n+"\t"+fv); } }
class addFV
{
public static void main(String args[])
{
FV.pv=100000;
FV.title(); //新增字串
FV f1=new FV(0.01,6);
FV f2=new FV(0.011,5);
FV f3=new FV(0.012,4);
FV f4=new FV(0.013,3);
f1.show();
f2.show();
f3.show();
f4.show();
System.out.println("===========================");
}
}
執行結果:
.如果使用new 會佔據記憶體空間,如果要讓他打印結束就消失 可以使Static
舉例:
class addFV { public static void main(String args[]) { //CAL c1=new CAL(); //如果使用new 會佔據記憶體空間 //如果要讓他打印結束就消失 可以使Static System.out.println(CAL.RLength(2.3)); System.out.println(CAL.fv(10000,0.01,5)); } }
class CAL { static double RLength(double r) //使用static { return 2*3.14*r; } static int fv(int pv,double r,int n) { return (int)(pv*(1+r*n)); } }
執行結果:
沒有留言:
張貼留言