继承、方法重载、方法重写、访问修饰符、super关键字

1. 子类可以访问父类非私有成员;父类不可以访问子类特有成员

2. 方法重载:在同一个类中;方法名相同,参数列表不同(参数顺序、个数、类型);方法返回值、访问修饰符任意;与方法的参数名无关

3. 方法重写:有继承关系的类中;方法名、参数类型、顺序、个数都要与父类继承的方法相同,返回值类型可以允许是子类类型;与方法的参数名无关;属性也可以重写;访问修饰符的访问范围需要大于等于父类的访问范围

4. 访问修饰符:private只能在当前类中访问,离开当前类无法访问;public可以在任意位置随意访问;protected允许在当前类、同包子类、同包非子类、跨包子类中调用,跨包非子类不允许;默认允许在当前类、同包子类、同包非子类调用,跨包子类、非子类不允许调用

5. 访问修饰符总结:private(本类);默认(本类、同包);protected(本类、同包、子类);public(本类、同包、子类、任意)

6. super:父类对象的引用

7. 父类的构造方法不允许被继承、不允许被重写,但是会影响子类对象的实例化;子类构造方法默认调用父类的无参构造方法;可以通过super()调用父类允许被访问的其他构造方法;super()必须放在子类构造方法有效代码的第一行

8. 继承后的初始化顺序:父类静态成员(静态成员、静态代码块) -> 子类静态成员(静态成员、静态代码块) -> 父类对象构造(普通成员、构造代码块、构造方法) -> 子类对象构造(普通成员、构造代码块、构造方法);访问修饰符不影响成员加载顺序,跟书写顺序有关

9. super和this:super代表父类对象,this代表当前对象;this和super不能在static方法中使用;构造方法调用时;super和this不能同时出现

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章