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

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

 

原文地址:https://www.cnblogs.com/NCL--/p/7197827.html