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


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

     

  • 相关阅读:
    华为花了100亿,为员工造了12个欧洲小镇,幸福到爆棚
    Qt5.9 官方发布的新版本亮点的确不胜枚举(而且修复2000+ bugs)
    详尽分析世纪之战:360VS腾讯是两个阶层的抗争
    c#
    PhantomJS
    bootstrap table
    Linux 入门
    多路搜索树
    网站性能优化工具
    NetCore上传多文件
  • 原文地址:https://www.cnblogs.com/NCL--/p/7197827.html
Copyright © 2020-2023  润新知