java之继承,多态,抽象

继承(extends)

继承者被称为子类,被继承者被称为父类

2,继承的特点

  • 继承之后,子类就会自动拥有父类中的所有非私有的属性和方法(不包含构造方法)
  • 类只能单一继承(一个类只能继承一个类)
  • 继承具有传递性(爷类,父类,子类)
    3,为什么要有继承(为什么要有父类)
  • 父类就是为所有的子类提供公共的属性和方法
  • 父类可以为所有的子类提供共同的数据类型
  • 当需要创建多个类,有相同的属性和方法时使用
    4,this:指代当前对象(谁调用的指的就是谁)
  • 调用的成员变量
  • 实例方法
  • 构造方法 this()/this(参数)====》出现在代码的第一行
super:指代父类
  • 1.调用父类的成员变量
  • 2.调用父类的实例方法
  • 3.调用父类的构造方法 super()/super(参数)====》出现在代码的第一行
    注意:super()只能调用父类的,不能调用祖先的

5,重点

子类的每一个构造方法中,都有一个默认的super()在调用父类的无参构造(删掉了super也会调用父类的无参,除非添加this来调用自己的构造器)
类中如果手动添加了有参构造,则系统不会提供默认的无参构造
6,重写(override)
在子父类中,方法名称相同,参数列表相同,方法体不同的两个方法
必须遵循两同两小一大原则:
方法名相同
参数列表相同
方法的返回值类型要比父类的小或相同(此点只针对引用类型,如果是基本类型就必须一样)
抛出异常要比父类的小或相同
访问权限要比父类的大或相同

7,多态(编译看左边,运行看右边==>能点出来什么看类型,最后执行什么看对象)

  • 向上造型:父类的引用指向子类的对象

  • 作用:

  • 向下造型:关键字instanseof

  • 注意:在进行向下造型的时候,必须使用instanseof进行判断
    例如:A instanseof B
    这个关键字判断的是A变量所指的对象是否是B这个类型的本类对象或者子类对象
    该判断会返回boolean类型的值,如果是ture,则表示满足以上的条件<可进行向下造型
    (能点出什么看类型,最后执行什么看对象)

    抽象

    • 抽象类的特点:抽象类不能直接new对象,但是可以创建数组
    • 有抽象方法的类一定是抽象类,但是抽象类中不一定有抽象方法
    • 抽象类通常就是用来被继承的,继承之后,必须重写所有的抽象方法,如果不想重写,可以将自己也变成抽象类
      (变成抽象:没有方法体)-->abstract
  • 抽象作用:用来做功能的拓展

posted @ 2022-09-19 08:38  梦梦想睡觉  阅读(77)  评论(0编辑  收藏  举报