本文讲述java的部分面向对象编程特性
抽象数据类型简介
API(方法)
对象
对象的使用
继承
输入与输出
抽象数据类型简介
数据类型指的是一组值和一组对这些值的操作的集合。我们已经接触过原始数据类型,在java中编程的基础主要是使用class为关键字构造的被称为 “引用类型” 的数据类型,这种编程风格叫做面向对象编程。
“引用类型”是一种“抽象数据类型(ADT)”, 是一种能够对使用者隐藏数据的数据类型。在使用抽象数据类型时,我们把注意力集中在API的描述上而不去关心数据的表示,在实现抽象数据类型时,我们把注意力集中在数据本身而不取关心API的实现
API(方法)
API要包括构造函数和实例方法
- 各种方法的特点
构造函数:一种没有返回值的函数,可以理解为初始化方法,创建对象的标识
静态方法:主要作用是实现一个函数(不对对象属性修改)
实例方法:主要作用就是操作数据类型中的值(对对象属性进行修改)公有方法:可以被对象调用
私有方法:不可以被对象调用
实例方法和静态方法不同之处:
如图所示
-
构造函数的实现
-
-
实例方法的实现
-
-
方法中变量的作用域
对象
-
对象的三大重要特性
- 标识:区别不同的对象,可以认为标识就是对象在内存中的位置
- 状态:状态就是指数据结构中的值(python中称为"属性")
- 行为:行为就是指对数据结构的操作 (python中称为"方法‘)
-
创建对象
Counter heads = new Counter("heads");
- 为新对象分配内存空间
- 调用构造函数初始化对象中的值
- 返回该函数的一个引用
引用是一种访问对象的方式,可以认为引用就是内存地址
对象的使用
一. 直接调用方法
-
通过语句
-
通过表达式
-
通过自动类型转换
-
二. 其他使用方式
- 给对象赋值
在引用类型中,赋值语句将会创建出一个新的副本,不会创建新的对象的地址,而是指向另一个对象的地址(起别名)
- 将对象作为参数
当我们在调用方法时把对象作为参数,相当于对象每个参数值都放进方法这种方式叫做 ------ 按值传递
- 将对象作为返回值
直接举个例子:<