第二章之重载、封装、继承、重写、多态
2019-01-17
内容:重载、封装、继承、重写、多态
一、重载
释义:同一个类中,方法名相同,形参列表不同(形参类型不同/形参个数不同/形参位置颠倒)
注意:与返回值类型无关
可变个数的形参:@格式:变量类型...变量名
@注意:*可变个数的形参方法与同名的方法构成重载
*但可变个数的形参方法与同名的数组不能构成重载,它们基本等价,在调用时有区别(数组必须初始化)
*可变个数的形参在调用时,个数从0开始到无穷个都可以
*形参列表中最多只能有一个可变个数形参,并且必须放于参数列表的最后面
二、封装
由来:在创建了类的对象后,如果直接采用对象.属性的方法来操作对应对象的属性的话,会出现一些不符合实际情况的现象,可以考虑
将属性设置为私有属性,在方法中对其进行限制来避免不符合实际情况的现象发生。
步骤:@将属性设置为私有属性
@在方法中进行限制
@创建对象后用调用方法的形式操作相应对象的属性
三、继承
释义:当几个类有共同的属性和方法时,可以选择继承来简化代码
注意:父类中的私有属性或者方法子类也可以获取到,只是由于封装性的设计,使得子类的对象无法直接调用
四、重写
释义:当子类继承父类后,父类中的方法对子类不再适用时选择重写
格式:修饰符 返回值类型 方法名 (形参列表){
//重写的方法内容
}
注意:*修饰符权限不能比父类的小
*返回值类型 方法名 (形参列表)与父类完全相同
*若父类方法异常,则子类方法中抛的异常不能大于父类的
*子父类的方法必须同为static或者同为非static
*如果父类中是private,则不认为子类中同名的方法是重写
四、多态
释义:多种状态
表现:*方法的重载与重写
*子类对象的多态性(更主要)
使用前提:*要有继承关系
*要有方法的重写
格式:父类 父类对象 = new 子类();通过父类的引用指向子类的实体,在使用方法时调用子类的重写方法
注意:*程序分为编译和运行时,在编译时认为这个对象时父类对象,不能调用子类的特有方法,但在运行时认为这个对象是子类对象,可以调用特有方法
*多态性对于属性不适用
*可以采用向下转型来调用子类特有方法,最好先判断再强转
五、包装类
释义:8种基本类型相对应的引用类型成为包装类
基本数据类型 包装类
byte Byte
short Short
Int Integer
long Long
char Character
float Float
double Double
boolean Boolean
好处:有了类的类型,就可以调用类中的方法
基本数据类型、包装类和字符串之间的转换关系:*基本数据类型=>包装类,调用包装类的构造方法new 包装类(变量值)/new 包装类("变量值")
*包装类=>基本数据类型,调用包装类的...value方法
*基本数据类型,包装类=>String类,可以拼接一个空字符串,可以调用String类的valueOf(数据类型/包装类 变量 名)方法
*String类=>基本数据类型,包装类,调用包装类的parse...(String str)方法
JDK1.5后实现了自动装箱和自动拆箱
释义:同一个类中,方法名相同,形参列表不同(形参类型不同/形参个数不同/形参位置颠倒)
注意:与返回值类型无关
可变个数的形参:@格式:变量类型...变量名
@注意:*可变个数的形参方法与同名的方法构成重载
*但可变个数的形参方法与同名的数组不能构成重载,它们基本等价,在调用时有区别(数组必须初始化)
*可变个数的形参在调用时,个数从0开始到无穷个都可以
*形参列表中最多只能有一个可变个数形参,并且必须放于参数列表的最后面
二、封装
由来:在创建了类的对象后,如果直接采用对象.属性的方法来操作对应对象的属性的话,会出现一些不符合实际情况的现象,可以考虑
将属性设置为私有属性,在方法中对其进行限制来避免不符合实际情况的现象发生。
步骤:@将属性设置为私有属性
@在方法中进行限制
@创建对象后用调用方法的形式操作相应对象的属性
三、继承
释义:当几个类有共同的属性和方法时,可以选择继承来简化代码
注意:父类中的私有属性或者方法子类也可以获取到,只是由于封装性的设计,使得子类的对象无法直接调用
四、重写
释义:当子类继承父类后,父类中的方法对子类不再适用时选择重写
格式:修饰符 返回值类型 方法名 (形参列表){
//重写的方法内容
}
注意:*修饰符权限不能比父类的小
*返回值类型 方法名 (形参列表)与父类完全相同
*若父类方法异常,则子类方法中抛的异常不能大于父类的
*子父类的方法必须同为static或者同为非static
*如果父类中是private,则不认为子类中同名的方法是重写
四、多态
释义:多种状态
表现:*方法的重载与重写
*子类对象的多态性(更主要)
使用前提:*要有继承关系
*要有方法的重写
格式:父类 父类对象 = new 子类();通过父类的引用指向子类的实体,在使用方法时调用子类的重写方法
注意:*程序分为编译和运行时,在编译时认为这个对象时父类对象,不能调用子类的特有方法,但在运行时认为这个对象是子类对象,可以调用特有方法
*多态性对于属性不适用
*可以采用向下转型来调用子类特有方法,最好先判断再强转
五、包装类
释义:8种基本类型相对应的引用类型成为包装类
基本数据类型 包装类
byte Byte
short Short
Int Integer
long Long
char Character
float Float
double Double
boolean Boolean
好处:有了类的类型,就可以调用类中的方法
基本数据类型、包装类和字符串之间的转换关系:*基本数据类型=>包装类,调用包装类的构造方法new 包装类(变量值)/new 包装类("变量值")
*包装类=>基本数据类型,调用包装类的...value方法
*基本数据类型,包装类=>String类,可以拼接一个空字符串,可以调用String类的valueOf(数据类型/包装类 变量 名)方法
*String类=>基本数据类型,包装类,调用包装类的parse...(String str)方法
JDK1.5后实现了自动装箱和自动拆箱