今天是来到天亮的第10天,今天主要讲解了领扣题、面向对象概述、类与对象等。
面向过程 侧重分步骤 : 类似于公司扁平化管理
比如做饭 :
1 买菜,买食材
2 开火烧油
3 翻炒
4 出锅
....
面向对象 侧重分模块 : 类似于公司的层级化管理
分析 完成做菜这件事需要涉及到的事物 : 厨师,食材,工具
面向对象改善了软件系统的可维护性,降低耦合度。
构造方法:
构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。
特殊性
1)构造方法作用:构造出来一个类的实例,对构造出来的类的对象初始化。
2)构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。
3)系统会默认为类定义一个无参构造方法,即默认构造方法。若显式定义了构造方法,则系统不会提供默认无参构造函数。
类和对象:
实例化:
1 加载类到静态区
2 在堆内存开辟内存空间
3 调用构造方法,初始化堆内存对象
4 构造方法弹栈,堆内存引用保存到变量中。
变量和方法的使用:
1 什么时候使用静态变量
同类中多个对象,共同的属性共同的值的情况下,使用静态变量
2 什么时候使用成员变量
同类的多个对象,共同的属性但是不同的值的情况下,使用成员变量(值可以相同可以不同)
3 什么时候使用局部变量
如果某个数据只在某个方法中临时使用,其他地方也用不到的情况下,就使用局部变量
4 什么时候使用静态方法
如果该方法中没有成员属性的使用,就定义为静态方法
也就是说,该方法,和对象无关的时候,因为静态方法中是无法直接使用非静态属性的,因为静态在静态区,而成员在堆内存,所以直接写名字,是找不到的,必须用对象引用才可以
5 什么时候使用成员方法
如果该方法中有成员属性的操作,就定义为成员方法
也就是说,该方法和对象有关,因为成员方法和成员变量都是在堆内存,所以可以直接使用
JavaBean
最后,传值和传引用的区别:
传值:传递基本类型,互不影响
传引用:传递引用类型,互相影响
对象作为参数传递时,方法对对象属性改变,对象就改变。