
本文共 2230 字,大约阅读时间需要 7 分钟。
1、面向对象与面向过程 理解
例如:面向过程就是,小明肚子饿了去KFC买了一个汉堡,接着又去麦当劳买了一瓶汽水,最后的结果就是小明吃了汉堡喝了汽水。面向对象就是,在这个过程我们可以把小明看成一个对象,我们都可以把上面的一系列动作看成是小明这个对象的方法,而我们要解决小明饿了的问题我们只需要调用小明的方法就行了,比如去xx、买xx等等。至于说小明怎么实现这些方法的你没有必要知道,你所要知道的就是结果:小明解决了饥饿。这就是面向对象。
2、面向对象的设计
就是管理维护对象的关系
3、特点
封装,继承,多态
4、封装
封装把数据和加工该数据的方法(函数)打包为一个整体,以实现独立性很强的模块,使得用户只能见到对象的外特性(对象能接受哪些信息,具有哪些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。封装的目的在于把对象的设计者和对象的使用者分开,使用者不必知晓其行为实现的细节,只需要用设计者提供消息来访问该对象
4.1 类和对象的基本概念
- 类和对象是面向对象的核心概念
- 类是对一类事物的描述,是抽象的、概念上的定义
- 对象是实际存在的该类事物的每个个体,也称为实例
类是一个抽象的概念,要利用类的方式解决问题,必须用类创建一个实例化的对象,然后通过对象去访问类的成员变量,去调用类的成员方法来实现程序的功能。一个类可以创建多个类的对象,它们具有相同的属性模式,但可以具有不同的属性值。java程序为每个对象都开辟了内存空间,已保存各自的属性值。
对象(object)是类的实例化后的产物。对象的特征分为静态特征和动态特征。
静态特征是指对象的外观、特质、属性等。动态特征是指对象具有的功能、行为等。
人们将对象的静态特征抽象为属性,用数据来描述,在JAVA语言中称之为成员变量。而将动态特征抽象为行为,用一组代码来表示,完成对数据的操作,在JAVA语言中称之为方法(Method)。
一个对象是由一组属性和一类属性进行的操作(即方法)构成的。
4.2 权限修饰符
public:公共的、protected:受保护的、default:默认的、 private:私有的
public | protected | default(空的) | private | |
---|---|---|---|---|
同一类中 | √ | √ | √ | √ |
同一包中(子类与无关类) | √ | √ | √ | |
不同包的子类 | √ | √ | ||
不同包中的无关类 | √ |
tips:
a.成员变量使用private,隐藏细节
b.构造方法使用public,方便创建对象
c.成员方法使用public,方便调用方法
5、 类的声明与定义
[标识符] class 类名称 { //类的成员变量 //类的方法}//标识符可以是public、private、protected或者完全省略
构造方法、属性和方法,是常见的3种成员。各个成员可以互相调用,但是static修饰的成员不能被非static修饰的成员访问。
6、 成员变量与类变量
成员变量:类中定义直接定义的变量
类变量:类中被static
修饰的变量
7、 对象的声明与使用
类名 对象名 = new 类名();对象名称.属性名 //访问属性对象名称.方法名() //访问方法
8、 匿名对象
匿名对象是指没有名字的对象。实际上,根据前面的分析,对于对象实例化的操作来讲,对象真正有用的部分在堆内存里面,而栈内存只是保存一个对象引用名称(严格来说是对象在堆内存的地址),所以所谓的匿名对象就是指,只开辟了堆内存空间,而没有栈内存指向的对象。
new 类名();
ps:
1、匿名对象没有被其他对象所引用,即没有栈内存指向
2、因为没有栈内存指向,所以只能使用一次,之后就无法找寻的垃圾对象,会被垃圾回收器收回9、 对象的比较
- 利用“==”运算符:用于比较两个对象的内存地址值是否相等
- 利用equals()方法:用于比较两个对象的内容是否相等
10、对象数组
把类理解为用户自定义的数据类型,它和基本数据类型(int、float等)具有等同的地位。。
通过两个步骤可以用数组来存放对象 1、声明以类为数据类型的数组变量,并用new分配内存空间给数组 2、用new产生新的对象,并分配内存空间给它11、this关键字
- this调用本类中的属性,也就是类中的成员变量;
- this调用本类中的其他方法;
- this调用本类中的其他构造方法,调用时要放在构造方法的首行
12、static关键字
静态中不用this,因为还没有对象,静态只能访问静态
被jvm调用,不需要对象
程序中如果用static定义属性的话,则此属性成为静态属性
13、final关键字
final关键字用于修饰不可改变的内容
final:不可改变。可以用于修饰类、方法和变量
- 类:被修饰的类不能被继承
final class 类名{ }
- 方法:被修饰的方法不能被重写
修饰符 final 返回值类型 方法名(参数列表){ //方法体}
- 变量:被修饰的变量不能被重新赋值
局部变量–基本类型: 基本类型的局部变量,被final修饰后,只能赋值一次,不能再更改
局部变量–引用类型: 引用类型的局部变量,被final修饰后,只能指向一个对象,地址不能再更改,但是不影响对象内部的成员变量值的修改
成员变量:成员变量设计到初始化问题,初始化方式有两种,只能显示初始化或者构造方法初始化
发表评论
最新留言
关于作者
