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)
关于多态:
> 多态指方法的多态,字段、静态方法不存在多态
> 产生多态的三个必要条件:继承、方法重写、父类引用指向子类对象
> 引用变量类型:
编译时类型---由声明时的类型决定
运行时类型---由实际对象类型决定
> 通过对象调用字段,在编译时就已经确定要调用哪块内存中的数据,
所以字段不存在重写,多态中,字段不存在多态。
> 方法在运行时必须压入堆栈,故而此时才可以知道具体调用方法是哪一个。
> 可以使用 instanceof 关键字 判断对象类型
> 多态的特点:运行时,调用子类方法。
> 多态的好处 :统一行为,方便编码。提高代码复用及可维护及扩展性。
5、this 和super
普通方法中,会隐式传递this,super,即当前对象引用及直接父级对象引用作为参数;
this总是指向正在调用该方法的对象;
在构造方法中,this常用于初始化参数
通过this调用其他构造方法,或super调用父类构造方法,必须放在第一行
可以通过super 调用被子类重写的方法
若子类方法中,存在一个和父类中相同的静态方法,那么这种现象为隐藏,非重写。
故在多态时,父类引用调用对应静态方法时,若二者中皆有同样的静态方法,应该慎重调用。