1. 面向过程:
这种思想强调的是过程,凡事亲力亲为
2. 面向对象:
这种思想强调的是结果,面向对象是Java极其重要的特征,Java就是一门面向对象的语言
3.类
类指的是类型Type,是指一类事物
类是抽象的,要提取这一类事物的特点与功能
可以把类理解成设计图纸,模板
4.对象
对象就是根据类创建出来的具体实例
一个类可以创建出多个对象,对象通过地址值来区分
5.对象创建过程分析
Phone p = new Phone();创建对象时,内存发生了什么?
在栈内存中开辟一块空间,Phone类型的引用类型变量p,把p压入栈底,此时p只有一个默认值null
在堆内存中开辟一块空间用于存放Phone类型的对象
要给这个对象进行初始化,比如:String brand = null;
此对象已经准备好,所以会生成一个唯一的地址值,并将这个地址值交给栈内存中的变量p来保存
如果后续想要对对象做操作,比如:p.price=88.8;先会找到栈中p变量保存的地址值,根据这个地址找到堆中的对象再做进一步的操作
3.面向对象的特征–封装
3.1属性的封装
用private修饰属性,一旦属性被private修饰,就只能在本类中使用,外界无法访问
所以为了让外界能够按照我们提供的方式来调用,需要根据属性生成公共的getXxx()与setXxx()方法
3.2 方法的封装
方法的封装也是使用private来修饰方法
如果想要调用词私有方法的功能,就需要在本类的公共方法里调用这个私有方法
4. 构造方法
4.1 格式:
与类同名且没有返回值类型的方法
4.2 作用:
构造方法用于创建对象时使用,每次创建对象时,都会自动触发构造方法
4.3 特点:
每个类会默认提供一个本类的无参构造
构造方法也存在重载的现象(无参/含参/全参)
我们是通过方法名+参数列表的方式来确定要调用哪个方法的
全参构造不仅可以创建对象,还可以给这个创建出来的对象的属性赋值
5. 方法的重载
现象:在同一个类中,存在多个方法名相同但是参数列表不同的方法
注意:我们这里所说的参数列表不同,指的是参数的个数与参数的类型,与参数名无关
注意:重载是为了使用时,传入不同的参数,也可以很好的匹配到同名的方法来执行此功能
6. 形参与实参
比如方法参数列表中的参数名就是一个形参,形参没有具体的值,调用方法时,传入什么值,就是什么
实参是实际存在的参数,有自己要保存的明确的值