OOP的本质:以类的形式组织代码,以对象的形式组织数据。
1、对象具有行为、状态和标识。
2、java语言使用的字符集:Unicode字符集,该字符集具有65535个字节,可以表示任意字符。
3、标识符
定义:由字母、数字、下划线、$等字符组成的字符序列。
作用:用来表示变量名、方法名、类名、接口名等
规则:
> 不能以数字开头
> 可以包含数字、字母、货币符号、汉字等
> 长度不限,但是最好不要过长
> 不能包含空格,分号,逗号,单引号,双引号等
> java关键字(保留字)不能被用来作为标识符
> 尽量不使用内置类名
4、java 三大特征:继承、封装、多态
继承(inherit)
关于继承:
> 提高代码的复用性;
> 类是对象的抽象,继承是对某一批类的抽象,从而实现对现实世界更好的建模> 关键字 extends
> java中 只存在单继承(只有一个直接父类),避免了c++中多继承的复杂性,
多继承可以通过实现接口来实现。
> 除了 继承外,组合也可实现代码的复用,但是从建模角度看 ,继承为 is-a 的关系,
组合为has a的关系。但是代码设计中尽量采用组合的方式产生新类型,否则过多的使用继承,
会使代码设计过于复杂。
> 继承破坏封装封装
目的:高内聚,低耦合
> 高内聚-----内部数据操作细节自己完成,不允许外部干扰
> 低耦合-----仅暴露少量的方法给外部使用
封装要点:
> 一般成员变量全部使用private修饰,常量或static修饰的类变量,使用public
> 提供相应的set/get方法访问相应属性,(boolean变量的get方法为is开头)
> 本类中的辅助性类,使用private
多态(polymorphism)
关于多态:
5、this 和super
普通方法中,会隐式传递this,super,即当前对象引用及直接父级对象引用作为参数;
6、static关键字
类变量或静态变量:使用static关键字修饰的变量
类方法或静态方法:使用static关键字修饰的方法
7、final 关键字
使用final修饰符的原因:继承破坏了封装特性,使已经隐藏的东西不再隐秘。
构造器不可以被final修饰。因为构造器是不可以被继承的,都是最终的。
常量:
final 修饰的变量
> 必须显示的初始化值
> 修饰的基础类型变量,不在可以赋予其他值
> 修饰的变量所有单词大写,若含有多个单词,则使用下划线隔开。
> 变量的对象引用不可变,但是引用所对应的值可以变化