13、面向对象01
Java的核心思想就是OOP(面向对象编程)
一、面向过程&面向对象
面向过程思想(线性思维):
- 步骤清晰简单,第一步做什么,第二步做什么...
- 面对过程适合处理一些较为简单的问题
面向对象思想(相当于是一个设计框架):
- 物理类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。
- 面向对象适合处理复杂的问题,适合处理需要多人协作的问题!
对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。
属性+方法就是一个类了
语句很多提取出来叫做方法,有共同特性的方法再提取出来加上一些属性就叫做类。
比如同样是建造一座高楼,一个人设计、建造、做水泥工、粉刷工等等等等,虽然可能也能做但是工作量太大。
面向对象就类似于建造高楼有一个总设计师,根据不同类型的工作摊派类别任务。把大事化小。最底下那部分人还是面向过程去做。但是整体架构就很清晰了
二、面向对象
面向对象编程(Object-Oriented Programming,OOP)
面向对象编程的本质就是:以类的方式组织代码,以对象的形式封装数据。
抽象
三大特性:
- 封装
- 继承
- 多态
从认识论角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象
从代码允许角度考虑是先有类后有对象。类是对象的模板。
三、方法回顾
方法的定义:
- 修饰符
- 返回类型
- break:跳出switch,结束循环和return的区别
- 方法名:注意规范就行,见名知意原则
- 参数列表:(参数类型,参数名)...
- 异常抛出:疑问
方法的调用:递归
- 静态方法
- 非静态方法
- 形参和实参:
实际参数和形式参数的类型要对应!
- 值传递和引用传递
- this关键字


当a方法和b方法同为静态或同为非静态可互相调用,但是如一个为静态一个非静态则不能调用
static是和类一起加载的,所以当类存在的时候,static就一起存在了
非static的方法是类实例化之后才存在,所以一个存在的东西调用一个不存在的东西就会报错
四、类与对象
类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物
- 动物、植物、手机、电脑......
- Person类、Pet类、Car类等,这些类都是用来描述/定义某一类具体的事物应该具备的特点和行为
对象是抽象概念的具体实例
- 张三就是人的一个具体实例,张三家里的旺财就是狗的一个具体实例
- 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念
创建与初始化对象:
- 使用new关键字创建对象
- 使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用
- 类中的狗在其也成为构造方法,是在进行创建对象的时候必须要调用的,并且构造器有以下两个特点:
- 必须和类的名字相同
- 必须没有返回类型,也不能写void
构造器必须要掌握
类就是一个抽象的模板,一般不在类里把属性值写死,而是对实例化后的具体对象进行赋值

五、构造器

一个类即使什么都不写,它也会存在一个方法(默认是无参构造),所以可以直接new

构造器:
1.和类名相同;
2.没有返回值;
作用:
1.new本质就是在调用构造器
2.初始化对象的值
注意点:
1.定义了有参构造之后,如果想使用无参构造,显示的定义一个无参的构造

浙公网安备 33010602011771号