面向对象:软件开发方法,一种编程范式。
面向过程: 侧重分步骤 类似于公司扁平化管理
面向对象: 侧重分模块 类似于公司的层级划管理
优点:
软件程序中就是: 可维护性,因为饭菜分离,耦合度低
而炒饭,饭和菜是混淆在一起的,耦合度较高,可维护性差
软件程序追求的目标之一就是可维护性,主要体现在三个方面:
1 可理解性
2 可测试性
3 可修改性
面向对象的好处之一就是改善了软件的可维护性,降低耦合度
构造方法:
1 创建当前类的实例化对象,并初始化是对象
2 构造方法声明:[修饰发列表]类名(参数){方法体}
3 如果类中没有声明方法,则默认有一个公共的无参构
4 如果类中声明了构造方法,则不会再有默认的无参构造 所以我们在创建一个无参构造
5 构造方法也是可以根据需求重载写多个的
成员方法可以和类同名
区分方法和构造方法:看返回值,构造方法没有返回值,连void也没有
对像:
代码角度:new的实例化某一个类的实例,封装特有的数据
数据角度:封装数据和逻辑的一种方式
认知角度:对象就是某个具体的东西,一切皆对象
设计角度:从一个实际实体抽象某些属性的一种实体表示
概念:我们在思想上对某个东西的一个唯一性标识
描述了这一类事物的特性
是我们在大脑里对客观事物描述的一个标准,一个模板
什么是类?
类规定标准,是模板
择偶标准:女,长头发,有内涵
什么是对象?
现在有个女生,是女的,头发挺长,也有内涵,那么这个女生就是择偶标准的类的对象
只要是这个类的对象,就是这个类的对象,就一定符合这个标准
我们在抽离某个概念,就建立相关事物的类,不同的属性值,划分不同的对象
实例化:
1 加载类到静态区
2 在堆内存开辟内存空间
3 调用构造方法,初始化堆内存对象
4 构造方法弹栈,堆内存引用保存到变量中
变量和方法的使用
1 什么时候使用静态变量
同类中多个对象,共同的属性共同的值的情况下,使用静态变量
2 什么时候使用成员变量
同类的多个对象,共同的属性但是不同值的情况下,使用成员变量(只可以相同可以不同)
3什么时候使用局部变量
如果某个数据只在某个方法中临时使用,其他地方也用不到的情况下,就是用局部变量
4什么时候用静态变量
如果该方法中没有成员变量属性的使用,就定义静态变量
也就是说,该方法,和对象无关的时候,因为静态方法中是无法直接使用非静态属性的,因为静态在静态区,而成员在堆内存,所以直接写名字,是找不到的,必须用对象引用才可以
5 什么时候用成员方法
如果该方法中有成员属性的操作,就定义为成员方法
也就是说,该方法和对象有关,因为成员方法和成员变量都是在堆内存,所以可以直接使用
javaBean:
javaBean:变量私有化private,不让外界直接访问
提供对应的setter/getter方法,用于获取和设置私有制属性值
相应的有参的无参构造
传值:传递基本类型,互不影响
传引用:传递数据类型,互不影响