什么是面向对象?
面向对象和面向过程都是解决实际问题的一种思维方式 ,在java中面向对象是一种编程思想 ,在现实中面向对象最符合人解决问题的思维方式 。
面向对象和面向过程
- 面向过程: 强调每一个功能的实现步骤和实现细节。
- 面向对象:强调的是对象,由对象去调用它的功能,不过多考虑功能是如何实现的。
- 面向对象是基于面向过程的,没有面向过程 就没有面向对象 。
类和对象
- 类:是一个抽象的概念,是一组行为和属性(也就是方法和变量)的集合。
- 对象:是一个具体的事物或者说是一个类的具体的个体、具体的实现 、具体存在的 、属于这个类的个体。
如何创建类和对象
- 创建类。依据需求分析和业务场景需要什么对象对这个对象进行分析, 把这个对象的共性抽取出来 ,抽象出一个概念把这个概念用java语言来表示就是一个 java 类 。 体现形式就是创建了一个 class 这个类用来描述事物。
- 创建对象。先创建好类(也就是描述对象的一个抽象概念), 然后根据这个类来创建这个类的对象(也叫创建这个类的实例)。因为在类中定义的属性和行为(非静态的)是属于具体实例的,需要由这个具体的实例来访问属性和调用方法。类中定义的属性和行为(非静态的)离开对象就没有意义。
创建对象的语法
类名 对象名 (引用变量) = new 类名();
等号左边:【类名 对象名】本质就是声明了一个类类型(引用类型)的变量。 【类名】就是类型。 【对象名】就是引用变量 ,引用一个对象,它的值就是它引用的对象的内存地址值。
等号右边: 【new 关键字 】
- 为创建的对象分配内存空间 。
- 并给对象的成员变量赋初始值。
- 把对象的内存地址值返回给引用变量 。
- 调用了构造方法。
【类名() 】实际上是调用了类的无参构造方法,因为构造方法名和类名是一样的。
访问对象的属性和方法
- 对象名.属性 。(访问对象的属性)
- 对象名.方法。(调用对象的方法)
类的组成
一个类主要包含以下几方面:
- 变量
- 方法
- 构造方法
- 代码块
- 内部类
构造方法
定义
构造方法是一个在创建对象时被自动调用来完成对象初始化的特殊方法。
特点
- 初始化对象。
- 方法名和类名一致。
- 虽然有返回值 ,但是不能定义返回值类型 ,因为返回值类型肯定是本类。不能在构造方法中使用 return 关键字。
- 通过 new关键字调用。
- 如果没有在一个类中显式地定义构造方法,java虚拟将自动给这个类 定义一个默认的无参构造方法。
- 一个类中可以定义多个构造方法,这叫方法重载。
应用场景
- 创建对象
- 可以通过构造方法给对象的属性赋值(通过有参构造 + this )