3.1结构化编程和面向对象编程

3.1.1结构化编程:

就是将 一个任务拆分成无数个小任务,每一个小任务都是一个独立的方法(函数),然后再由主程序去按照一定的顺序进行调用的方式
主要关注过程
例如
蜗牛 需要给所有的员工进行结算工资(工资数(迟到,早退,请假,旷工) - 五险一金(医疗,养老,失业,工伤,生育,住房公积金) - 个人所得税)

结构化编程缺陷:
1、代码太过于复杂,灵活变化度很低
2、需求变化,绝大多数代码都需要跟着变化,说明结构化编程的扩展性很差

3.1.2面向对象编程

对象化编程,不看重具体的实现,看重的是 结算工资的参与者: 蜗牛,员工
主要关注对象

对象由属性和行为组成
属性:对象自带的值,即成员变量,静态描述
方法:对象的行为,即成员方法,动态描述

#类是对象的抽象,对象是类的实例

4.类(class)

Java中的类用关键字class声明。Java源代码文件中只能包含一公用(public)类,文件名必须与公用类的类名相同,文件扩展名为“.java”

  1. public class Student {
  2. //……
  3. }

4.1 类中添加属性(成员变量)

属性格式: 访问修饰符 属性的类型 属性的名称;

4.2 类中添加行为(成员方法)

方法格式: 访问修饰符 可选修饰符 返回值类型 方法的名称(参数列表){}

4.3 类的实例化

  1. //使用关键字new 完成类的实例化
  2. Student student = new Student();

4.4 调用对象的属性和行为

对象.属性 对象.方法

  1. //使用关键字new 完成类的实例化
  2. Student student = new Student();
  3. //采用对象.属性 或 对象.行为的方法,完成对属性和行为的调用
  4. student.studentName = "小王";
  5. //调用了对象的行为
  6. student.goHome("骑车");

4.5 this关键字

this 代表的是 new出来的对象 自身
大概在:setter() 或getter()上使用最多
用来解决:二义性问题

4.5.1 this.

代表new出来的对象自身

4.5.2 this()

代表方法的其他构造器,必要时还要在括号中添加对应的参数

4.6 访问修饰符

Java中访问修饰符有4种 分别是:public protected 默认 private
类和对象 - 图1

4.7 包(package)

在Java中,每个类属于一个包。包有两个基本的用途:
Ø 提供了一个组织类的机制;
Ø 为包中的类提供了一个命名空间

导入包的关键字:import

4.8 构造器(构造方法)

构造器是类中的一个特殊的方法,该方法在对象实例化时被调用。构造器的用途是当对象实例化时,初始化对象中的成员变量。

4.8.1构造器的特征

是一个特殊的方法:特殊在不能有返回值
构造器与方法不同之处在于构造器必须满足如下两个属性:
1、构造器的名称必须与类名相同。
2、构造器不能声明返回值,也不能返回void。

4.8.2构造器的作用

实例化对象,并为对象做初始化的任务
实例化对象:就是在堆中产生对象
初始化:就是在对象中 给属性分配空间 ,并赋初值(引用数据类型赋为null,基本数据类型赋为0)

4.8.3构造器的分类


无参构造

  1. /**
  2. * 无参构造器
  3. */
  4. public User() {
  5. }


有参构造

  1. /**
  2. * 携带参数的构造器,就是有参构造器
  3. * @param userName
  4. * @param age
  5. */
  6. public User(String userName,int age) {
  7. this.userName = userName;
  8. this.age = age;
  9. }

4.8.4 构造器的执行顺序

1、通过new 构造器 在堆中产生一个实例出来
2、为属性在堆中的对象中,申请空间
3、为属性赋初值,引用类型赋为null,基本类型赋为0
4、执行构造器中的剩余代码