面向对象
类与对象的关系:类是对象的抽象,对象是类的具体实现
类是由属性和方法构成,它的每一个对象都有对应的属性和方法
方法:
方法的重载:
目的:针对同一个行为的多种表现,对应相同方法名的多个方法
方法名相同,参数列表不同
类方法(static方法)
类名.方法名()
三大特性:封装、继承、多态
封装:保护属性值不被随意修改
私有化属性,并提供getter,setter对外接口*
继承:代码重用、多态的基础
extends关键字
默认的跟类是Object,单根继承
方法重写:
前提有继承关系
方法名相同,参数列表同,返回值相同或小于父类,
访问修饰符不能小于父类,异常不能严于父类
构造方法:
默认的构造方法都会先走父类无参构造方法,
用super指定的构造方法,调用指定构造方法前,参照第一条
多态:
以父类做参数类型
父类中的方法如果被子类重写,那么在使用父类调用该方法时,
则看具体的子类类型,决定调用的是哪个重写后的方法
以父类做返回值类型的
如果只调用父类方法,则没有问题
如果需要调用子类特有的方法,则需要向下强制转型
抽象类和接口
abstract关键字:定义抽象类和抽象方法
interface关键字:定义接口
implements关键字:实现接口
抽象类和接口的异同点:
相同点:都不能被实例化,都可以有抽象方法
不同点:接口的所有方法都默认是:public abstract类型
接口的所有属性都默认是:public static final类型
抽象类用来被继承,主要目的是代码重用,只能继承一个类
接口用来拓展功能,可以实现多个接口
异常
异常的分类:Throwable-->Error、Exception
Exception-->checked异常、运行期异常(RuntimeException)
异常的处理:
try{有可能禅师异常的代码}
catch(有可能的异常类型 e){打印堆栈/打印异常信息。。。}
finally{最终块、往往用于关闭资源}
异常的定义:
自定义异常类,继承遗志的异常类
写出有参构造,并用super调用父类的有参构造