zoukankan      html  css  js  c++  java
  • java-5

    1.面向对象与面向过程

    面向过程:

    根据需求,分析解决该需求所需要的步骤,利用函数(方法)将这些步骤一一实现,使用时在进行依次调用。

    面向对象:

    把需求分解成一个个的功能,利用函数(方法)将这些功能一一实现,使用时调用功能。

    在面向对象的思维中,不考虑每个功能具体需要哪些步骤、是怎么实现的,简单来说就是你办事我放心。

    例:

    如何把大象装入冰箱?

    面向对象:1.打开冰箱门(方法)2.把大象装进冰箱(功能)3.关闭冰箱门(功能)

    整个过程需要三个方法:打开,装载,关闭,一个对象:大象。

    2.对象内存图解

    复制代码
    class Car{
          String color;
          int wheels;

      public void run(){
         System.out.print(color+":"+wheels);

      }

    }

    复制代码
    复制代码
    class TestCar{
        public static void main(String[] args){
               Car w = new Car();
               w.color = "red";
               w.wheels = 4;
               w.run();
        }
        
    }
    复制代码

    3.类与对象

    类指的是对某一类对象的抽象解释,例如动物、人类,而对象则是类具体化的体现,例如猫、中国人,创造对象的过程就是实例化类。

    复制代码
    class Human{
         String country;
         int age;
         public static void main(String[] args){
               Human chinese = new Human();
               chinese.country = "中国";
               chinese.age = 20;
         }   
    }
    复制代码

    4.基本类型与引用类型传参

    基本类型:

    a的值被复制一份传入方法change,方法内改变a的值,只在方法内生效,方法执行完毕,弹栈,主方法内的a不改变。

    复制代码
    class Test{
        public static void change(int a){
                a = 10;
         }
        public static void main(String[] args){
              int a = 5;
              change(a);
              System.out.print(a);
        }
    }
    复制代码

     

    引用类型:

    引用类型传参是把其物理地址传入方法,此时会有两个引用指向该物理地址,即主方法里的参数a,change方法内的形参a,此时方法内改变a[0],

    则直接会对堆内的数据进行改变,所以主方法内的a[0]也随之改变。

    复制代码
    class Test{
        public static void change(int[] a){
                a[0] = 10;
         }
        public static void main(String[] args){
              int[] a = {5,15,20};
              change(a);
              System.out.print(a[0]);
        }
    }
    复制代码

     

    5.成员变量与局部变量

    区别一:定义的位置不同

    定义在类中的变量是成员变量

    定义在方法中或者{}语句里面的变量是局部变量

    区别二:在内存中的位置不同

    成员变量存储在对内存的对象中

    局部变量存储在栈内存的方法中

    区别三:声明周期不同

    成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失

    局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失

    区别四:初始化不同

    成员变量因为在堆内存中,所有默认的初始化值

    局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。

  • 相关阅读:
    蛙蛙推荐:微软MSDN导航菜单演示(Javascript+CSS2)
    看来偶的WEB软件开发基本功还得再扎实一些
    蛙蛙请教:c#面向对象编程的有些抉择问题?
    蛙蛙请教:偶在CSDN发的好多问题都没有解决呢,我集中了一下,大家给看看
    Hive UDF开发
    ubuntu下设置开机自启动项
    ubuntu 扩展存储空间
    ubuntu 快速回到桌面
    编译Hive/Hadoop总结
    Linux MC——终端环境的文件管理器
  • 原文地址:https://www.cnblogs.com/wangnatian/p/8681909.html
Copyright © 2011-2022 走看看