public class ExtendsTest {
// 访问修饰对重载无影响,即使访问修饰符不同,但它们也构成重载
public void test1(){
System.out.println("修饰符对重载的影响");
}
protected void test1(int a){
System.out.println("修饰符对重载的影响");
}
}
重载(overload) | (重写override) |
---|---|
发生在同一个类中 | 发生在子类中 |
方法名相同 | 方法名相同 |
返回类型不影响重载 | 返回类型相同 |
参数列表必须不同 | 参数列表相同 |
访问修饰符可以不同 | 访问修饰符可以不同(子类的访问权限大于父类的访问权限 ) |
创建子类对象时,子类构造方法会先调用父类的构造方法,然后再对子类进行初始化
抽象类
定义:修饰符 abstract clas{}
创建对象:不能创建对象
方法:
- 可以没有抽象方法
- 有抽象方法的类一定是抽象类
子类
- 子类可以也是抽象类,也不重写抽象方法
- 子类不是抽象类,必须重写抽象方法