面向对象
(what、when、where、why、whom,how)
类与对象的关系:类是对象的抽象,对象是类的实现
类是由方法和属性构成,它的每一个对象都有对应的属性和方法
方法:
方法的重载:
目的:针对同一个行为的多种表现,对应相同方法名的多个方法
方法名相同,参数列表不同
类方法(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调用父类的有参构造