首页 > 代码库 > 面向对象,局部变量和成员变量

面向对象,局部变量和成员变量

面向对象的编程关注与类的设计
设计类实际上是设计类的成员
基本的类的成员,属性(成员变量)&方法
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();}

 技术分享

面向对象,局部变量和成员变量