1. 程式人生 > >面向對象,局部變量和成員變量

面向對象,局部變量和成員變量

對象 pri 計算 影響 多個 static 初始化 ret false

面向對象的編程關註與類的設計
設計類實際上是設計類的成員
基本的類的成員,屬性(成員變量)&方法
1、設計類,並設計類的成員(成員變量&成員方法)
2、通過類,來創建類 的對象(累的實例化用new)
3、通過“對象.屬性”或“對象.方法”來調用,來完成相應的功能
二、創建多個對象,彼此各自擁有一套類的屬性。當對其中一個對象的屬性進行修改是,不會影響其他對象的屬性值
三、類的屬性(成員變量)
成員變量vs局部變量
相同點:1、遵循變量聲明的格式:修飾符 數據類型 變量名=初始化值
    2、都有作用範圍
不同點:1、聲明的位置的不同:成員變量:聲明在類裏方法外

局部變量:聲明在方法內,方法的形參部分,代碼塊內
    2、成員變量的修飾符有四個:public private protected 缺省局部變量沒有修飾符,與所在方法的修飾符相同
     3、初始化值:一定會有初始化值
    成員變量:如果在聲明的時候,不顯示的賦值,那麽不同數據類型會有不同的默認初始化值。byte short int long==>0
    float double==>0.0
    char ==>空格
    boolean==>false
    引用類型變量==>null
    局部變量,一定要顯示初值,(局部變量沒有默認的初始化值)

     4、二者在內存中存放的位置:成員變量存放於堆空間中,局部變量在棧空間中

總結;關於變量的分類:1、按照數據類型的不同,基本數據類型和引用數據變量
           2、按照聲明位置的不同:成員變量和局部變量

package keshang;

public class jisuanqi {
    public int add (int a,int b){
        return a+b;        
    }
    public int jian (int a,int b){
        return a-b;        
    }
    public int cheng (int a,int b){
        
return a*b; } public double chu (double a,double b){ if(b!=0){ return(a/b); } }
public static void main(String[] args) {           
                jisuanqi i=new jisuanqi();
        int c=i.add(2, 7);
        System.out.println(c);
        int d=i.jian(6, 4);
        System.out.println(d);
        int e=i.cheng(6, 4);
        System.out.println(e);
        double f=i.chu(9.5, 4.9);
        System.out.println(f);}
                              

計算器的另一種寫法:

public double zonghe(double a,double b,String f){
        double c=0;
        if(f.equals("+")){
            c=a+b;            
        }else if(f.equals("-")){
            c=a-b;
            
        }else if(f.equals("*")){
            c=a*b;
        }else{
            c=a/b;
        }
        return c;
    }
}

public static void main(String[] args) {
            jisuanqi j=new jisuanqi();
        double d=j.zonghe(7, 15, "*");
        System.out.println(d);}

汽車的面向對象

public class Car {
    public String pingpai;
    public double price;
    public double youhao;
    public double gonglishu;
    public double youxiangrongliang;
    public double licheng;
    public double shengyuyouliang;
    public Car(){
        
    }
    
    public Car(String _pingpai, double _youhao,double _price,double _youxiangrongliang,double _shengyuyouliang){
    pingpai=_pingpai;
    price=_price;
    youhao=_youhao;
    youxiangrongliang=_youxiangrongliang;
    shengyuyouliang=_youxiangrongliang-1;
    }
    public void run ( double gonglishu ){
        double d =(gonglishu/100)*youhao;
        shengyuyouliang=shengyuyouliang-d;
        if(shengyuyouliang<=15){
            System.out.println("油量過低");
        }
        System.out.println("行駛"+gonglishu+"公裏"+","+"共消耗"+d+"L汽油...");
    }
    public void showinfo(){
        System.out.println("品牌:"+"起亞");
        System.out.println("價格:"+15.88);
        System.out.println("油耗:"+10);
        System.out.println("油箱容量:"+60);
        System.out.println("公裏數:" + gonglishu);
        System.out.println("剩余油量:" + shengyuyouliang);
    }
}
public static void main(String[] args) {
Car car=new Car("byd", 10,15.88,60,59);
        car.showinfo();
        car.run(530);
        car.showinfo();}

技術分享

面向對象,局部變量和成員變量