面向对象

IDEA快捷键=ctrl+Y还原
Ctrl+F 查找元素
Ctrl+R替换元素
一. 面向过程编程
代码都是放在一个main方法里面写,都是从上到下执行。
二. 面向对象编程 OOP
万物皆对象 Object
通过对象去调用属性 或 方法。
三.面向过程和面对对象的了解
面向对象思维方式是一种更符合人们思考习惯的思想
面向过程思维方式中更多的体现的是执行者(自己做事情),
面向对象中更多的体现是指挥者(指挥对象(别人)做事情)。
面向对象思维方式将复杂的问题简单化,因为我们不再关注细节,只关注结果
四.类和对象的概念

  1. 在工具里面新建的class文件就是一个类,类是具有一些属性和方法的统称,类是一个模板
    类里面存放的是类的 成员
    成员变量 成员属性
    成员方法
    2.对象是类的具体的实例
    3.创建对象语法
  2. 类和对象的关系?
    类是具有属性和方法的统称,对象是类的一个实例。
    五、局部变量和成员变量区别
    类名 对象名 = new 类名();
    区别一:定义的位置不同
    定义在类中的方法外的变量是成员变量
    定义在方法中或者方法的{}内语句里面的变量是局部变量
    区别二:在内存中的位置不同
    成员变量存储在堆中s
    局部变量存储在栈中
    区别三:生命周期不同(皮之不存毛将焉附)
    成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失
    (成员变量和对象同生共死)
    局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失
    (局部变量和方法同生共死)
    区别四:有没有默认值
    成员变量因为在堆内存中,所有默认的初始化值,默认值和数据类型的默认值类似
    局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。
    六、基本类型和引用类型作为参数传递
    基本类型作为参数传递时,其实就是将基本类型变量x空间中的值复制了一份传递给调用的方法
    show(),当在show()方法中x接受到了复制的值,再在show()方法中对x变量进行操作,这时只会
    影响到show中的x。当show方法执行完成,弹栈后,程序又回到main方法执行,main方法中的x值
    还是原来的值。
    举例:
    /*
  • 基本数据类型作为参数传递
  • /
    public class Test1 {
    public static void main(String[] args) {
    int x = 4;
    show(x);
    System.out.println(“x=”+4); // x=4
    }
    //静态 无返回值 有参方法
    public static void show(int x){
    x = 5;
    }
    }
    当引用变量作为参数传递时,这时其实是将引用变量空间中的内存地址(引用)复制了一份传递
    给了show方法的d引用变量。这时会有两个引用同时指向堆中的同一个对象。当执行show方法中的
    d.x=6时,会根据d所持有的引用找到堆中的对象,并将其x属性的值改为6.show方法弹栈。
    由于是两个引用指向同一个对象,不管是哪一个引用改变了引用的所指向的对象的中的值,其他
    引用再次使用都是改变后的值。
    /
  • 引用数据类型作为参数传递
  • */
    public class Test2 {
    int x; //成员变量
    public static void main(String[] args) {
    Test2 t2 = new Test2();
    t2.x = 7;
    method(t2);
    System.out.println(“x的值是:”+t2.x); // 输出 6
    }
    public static void method(Test2 t){ //类名对象作为参数
    t.x = 6; //对象调用属性
    }
    }
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐