美文网首页
类的继承

类的继承

作者: 后来者2016 | 来源:发表于2017-11-21 01:23 被阅读0次
  • 继承基本概念
  1. 继承关系可以解决代码的重复问题。
  2. 单继承;不能多重继承,允许多层继承。
  3. 继承类图表示:实线箭头,箭头指向父类。
  4. 子类无法直接访问父类的私有属性,但可以间接访问(getter方法)。
  5. 子类对象实例化过程中,默认先调用父类的构造方法,再调用本类的构造方法。
  • 方法的覆写
    如果一个父类使用private声明的方法,子类中使用default权限算是覆写吗
  1. 父类和子类均为default权限
public class TestExtends {
    public static void main(String[] args) {
        Student stu = new Student();
        stu.fun();
    }
}
class Person {
    void print() {
        System.out.println("父类方法");
    }
    public void fun() {
        this.print();
    }
}
class Student extends Person {
    void print() {
        System.out.println("子类方法");
    }
}

输出为:子类方法
分析:此时print()方法被覆写,故调用的是子类的print()方法

  1. 父类为private权限、子类为default权限
public class TestExtends {
    public static void main(String[] args) {
        Student stu = new Student();
        stu.fun();
    }
}
class Person {
    // 添加private权限
        private void print() {
        System.out.println("父类方法");
    }
    public void fun() {
        this.print();
    }
}
class Student extends Person {
    void print() {
        System.out.println("子类方法");
    }
}

输出为:父类方法
分析:此时子类的print()方法并不是父类中private修饰的print()方法的覆写。
小结:父类方法如果用private修饰,则此方法不能被覆写。

  • 方法重载和方法覆写的区别
区别点 方法重载 方法覆写
定义 方法名称相同,参数类型或个数不同 方法名称,参数名称,返回值类型全部相同
权限 无要求 子类中方法不能拥有比父类更严格的权限
范围 一个类中 继承类中
  • this 和 super 区别
区别点 this super
属性方法 由近及远,先从本类找,若没找到再从父类找 直接从父类找
调用构造 调用本类构造,必须写在首行 调用父类构造,必须写在子类构造首行
其他 当前对象 --

注:因为 thissuper 关键字都可以调用构造方法,并且调用时都必须放在构造方法首选,故不能同时出现

  • final 关键字
  1. 类:不能有子类
  2. 属性:为常量。static final声明全局常量
  3. 方法:不能被子类所覆盖

相关文章

  • 一阶段day16-01面向对象

    Python中类支持继承,并且支持多继承 一、继承 1、什么是继承 父类(超类):被继承的类子类:继承父类的类继承...

  • 2018-10-19面向对象和pygame

    类的继承 python中的类支持继承,并且支持多继承 1.什么是继承 父类(超类):被继承的类子类:继承的类继承就...

  • python零基础13:类的继承和定制

    类的定制和继承是什么? 类的继承 类的定制 类的继承要怎么写? 继承基础语法 继承之多层继承 继承的多重继承 类的...

  • Day16总结:面向对象和pygame

    类的继承 python中类支持继承,并且支持多继承 1.什么是继承 父类(超类):被继承的类子类:去继承父类的类继...

  • python 面向对象和pygame

    一、类的继承 python中类支持继承,并且支持多继承 1.什么是继承父类(超类):被继承的类子类:去继承父类的类...

  • day16

    类的继承 python中的类支持继承,并且支持多继承() 1.什么是继承 父类(超类):被继承的类子类:去继承的类...

  • 10.19 day16面向对象和pygame

    1.类的继承python中类 支持继承,并且支持多继承()1.什么是继承父类(超类):被继承的类 子类:继承的类,...

  • 2018-10-19继承、重写、内存管理和认识pygame

    一、类的继承 Python中类支持继承,并且支持多继承 1、什么是继承 父类(超类):被继承的类子类:去继承父类的...

  • day16

    一、类的继承python中类支持继承,并且支持多继承 1.什么是继承父类(超类):被继承的类子类:去继承父类的类继...

  • Day16-面向对象和pygame

    一、类的继承 python中类支持继承,并且支持多继承 1.什么是继承 父类(超类):被继承的类 子类:去继承父类...

网友评论

      本文标题:类的继承

      本文链接:https://www.haomeiwen.com/subject/jkfivxtx.html