java基础知识
1、所有类的顶级父类都是继承Object类。
2、java自动导入java.lang包的内容。
构造方法
1、与类同名,没有返回值。
2、一个类即使没有写构造方法,也会默认生成一个无参的构造方法,如果写了有参的构造,就不会默认生成无参构造,需要手动写上。
3、new一个对象的过程就是调用这个类的构造方法,会在构造方法第一行默认调用super()父类构造方法。
4、构造方法可以重载,不可以继承,不可以被重写。
方法重载
存在于同一个类,或者父子类中,可以可以重载
1、方法名相同,参数列表不同,与返回值类型无关,与访问修饰符无关。
2、方法重载可以声明新的异常或者更广的异常检查。
方法重写
存在于父类类中,子类方法重写父类方法。
1、方法名相同,参数列表相同,返回值类型相同或者返回值类型是父类方法返回值类型所派生出来的子类(java5 及更早版本返回类型要一样,java7 及更高版本可以不同)。
2、访问修饰符不能严于父类。
3、不能抛出新的异常或者比父类方法更广的异常。
4、final声明的方法不能重写。
5、static声明的方法不能重写,但是可以再次声明。
多态
向上转型(自动类型转换)
父类引用指向子类对象,自动类型转换
向下转型(强制类型转换)
子类对象的父类引用赋值给子类对象,需要强制类型转换,但是子类对象的父类引用必须为实际转换的子类对象相对应,不然会报类型转换异常。