1. 初识面向对象
面向过程 & 面向对象
面向过程思想:
- 步骤清晰简单,一步接一步
面向对象思想:
- 物以类聚,分类的思维模式,属性+方法
- 具体方法实现还是依靠面向过程,两者不可分割
什么是面向对象
面向对象编程(Object-Oriented Programming, OOP)本质就是:
以类的方式组织代码,以对象的形式(封装)数据
-
抽象
-
三大特性:
- 封装:
- 继承
- 多态:同一个事物有多种形态
2. 方法回顾和加深
2.1 方法的定义
- 修饰符
- 返回值
- break: 跳出switch,结束循环 和return:结束方法的区别
- 方法名:注意规范 驼峰原则 见名知意
- 参数列表:(参数类型,参数名)...
- 异常抛出
2.2 方法的调用:递归
-
静态方法 static
-
非静态方法 无static,需要对类进行实例化才能对其方法进行调用
-
形参和实参
public static void main(String[] args) { //实际参数和形式参数的类型要对应! int add = Demo03.add(1,2); System.out.println(add); } //此处的a,b只是占位符,并不实际存在,只有在被调用时传入实际参数才存在 public static int add(int a, int b){ return a+b; }
-
值传递和引用传递
public static void main(String[] args) { Person person = new Person(); //未赋值前String默认是null System.out.println("Name before change:" + person.name); Demo05.change(person); System.out.println("Name after change:" + person.name); } public static void change(Person person){ //person是一个对象,指向的是具体的person -->Person person = new Person(); //是一个具体的人,可以改变属性 person.name = "Chiara"; }
-
this关键字(待后续)
3. 类与对象的创建
3.1 类与对象的关系
-
类是一种抽象的数据类型,是对某一类事物整体进行描述/定义,但不能代表某一个具体的事物
-
对象是抽象概念的具体实例
能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念
3.2 创建与初始化对象
-
使用new关键字创建对象
-
使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用
-
类中的构造器也成为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:
-
- 必须和类的名字相同
-
- 必须没有返回类型,也不能写void
-
作用:
- new 本质在调用构造方法
- 初始化对象的值
- 注意点:定义有参构造之后,如果想使用无参构造,必须显示地定义一个无参的构造
快捷键:Alt + Insert 快速创建Constructor
this. (当前类) = 传入的值