- 面向过程:从计算机执行角度出发,以代码执行过程为核心
- 面向对象:从人的角度出发,从现实世界角度出发
- 对象:一切客观存在的事物。
- 程序:为了模拟现实世界,解决现实问题而使用计算机语言编写的指令集和。
1、什么是对象
-
先确定解决问题所需的对象,再建立对象间关系,从而确定过程
-
面向对象思想(Object Oriented Programming)
- 一切客观存在的事物都是对象,万物皆对象。
- 任何对象,一定有自己的特征和行为。
特征:称为属性,一般为名词,代表对象有什么。
行为:称为方法,一般为动词,代表对象能做什么。
2、什么是类
- 是对对象共性的抽象,代表了一类事物,
- Java中的类:代码,定义了一类对象应该具有哪些属性、方法
- 类的抽取:在一组相同或类似的对象中,抽取出共性的特征和行为,保留所关注的部分。
3、成员变量(实例变量)
- 局部变量必须先赋值再使用,否则会编译错误;
- 实例变量:未赋值并不会变异错误,并且能访问
4、实例方法(成员方法)
-
对象的实例方法包含两部分:方法的声明和方法的实现;
-
方法的声明:
代表对象能做什么;
组成:修饰符 返回值类型 方法名(形参列表) 抛出的异常 -
方法的实现:
代表对象怎么做:即如何实现对应的功能;
组成:{逻辑代码}
-
5、方法重载
- 概念:一个类中定义多个相同名称的方法,但参数表不同;
- 参数表不同:参数个数不同、参数类型不同、参数顺序不同(不允许两个方法的参数表,只有形参名不同);
- 编译器在编译时会根据实参的类型, 选择相应的方法去调用(向上就近匹配,不允许出现引用不明确);
- 调用带有重载的方法时,需要根据传入的实参去找到与之匹配的方法;
重载的作用:在于它允许类中的同类方法同名,屏蔽参数的差异。
6、构造方法
- 概念:类中的特殊方法,主要用于创建对象;
- 三点特殊之处:
1)不能定义返回值类型;
2)方法名和类名必须相同,包括大小写;
3)不能手动调用,只能对象的创建过程中自动调用一次; - 对象创建的过程:
1)分配空间 属性被赋予默认值
2)初始化属性 属性被赋予初始值
3)调用构造方法 属性可以被赋予构造参数 - 如果一个类中,没有定义任何构造方法,系统会提供默认的无参的公开构造方法;
7、对象的创建和访问
- 创建对象的语法:
类名 变量名 = new 类名 (实参列表/构造参数表); - 访问对象的语法:
变量名.属性
变量名.方法(实参列表);
8、引用
-
对象类型的变量(除去8种基本类型的变量,都属于引用)
-
存储对象的地址
-
方法传递参数:
基本类型的变量传值 对象类型的变量传地址
9、this关键字
- this 引用,指向当前对象
访问类中的属性和方法,如果不加引用,默认为this引用,用于区分成员变量和局部变量 - this():用在构造方法中,表示调用本类其他构造方法,必须是构造方法的第一条语句
- 不加this.指的是局部变量,加了this.的是成员变量