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