java网课|继承和抽象类

P148 继承的概述

没有继承,就没有多态!
—》继承的重要性!

继承主要干什么:共性抽取!!

父类?==》基类、超类

P153 继承的格式

is-a关系,“子类可以被当作父类看待”

  • 如:父类是员工,子类是讲师==》“讲师就是一个员工”
  • “ 子类就是父类”

子类格式:
public class 子类名称 extends 父类名称{}

父类格式:
普通类的格式

子类可以调用父类的方法(因为继承了父类的方法)

达到代码复用的效果

P154 继承中成员变量的访问特点

成员变量:
一个类中的private成员
private成员只能本类对象访问

当父类和子类有同名成员变量时:

  • 直接:通过子类对象访问成员变量
  •  	等号左边是谁,就用谁!(谁调用就用谁的!)
    
  • 间接:通过成员方法访问成员变量
  •  	要看这个方法是谁的!【看是谁定义的】(子类都可以调用,但是调用出来的结果可能是父类中的变量值)
    

P155 区分子类方法中重名的三种变量

局部变量/苯类的成员变量/父类的成员变量

public class Zi extends Fu{
    int num=20;

    public void method() {
        int num=30;
        System.out.println(num);
        System.out.println(this.num);
        System.out.println(super.num);
    }
}

P156 成员方法的访问特点

子类对象访问成员方法的规则:

  • 创建的是哪个对象,优先用哪个的方法
  • 如果没有,就向上找
  • 绝对不会向下(子类)找!!

P157 继承中方法的覆盖重写

什么是重写:
名称和参数列表都一样/也叫覆盖/覆写

重载:
名称一样,参数列表【不一样】

P158 覆盖重写的注意事项

1、覆盖重写时,必须保证父子类方法名称相同!可用@override:

  • 可写可不写
  • 最好写上,检测是不是有效的正确覆盖重写

2、返回值类型有限制:

  • 返回值类型:子类的返回值范围必须<=父类的返回值范围
  •  如:Object>String
    

3、子类方法的权限必须》=父类方法的权限修饰符

  • public>protected>(Default)>private
    default不是关键字,表示什么都不写

P159 什么场景应用覆盖重写

老款手机—》新款

  • 需要该一部分
  • 定义一个新类,重写方法即可===>这样可以保留原有的可以的方法
  • 要用父类的旧方法时:
  •  	super.xxxx;
    

P160 继承中构造方法的访问特点

创建一个子类对象时:

  • 有一个默认的父类构造函数!
  • 后再调用子类构造函数
    无父,就无子

子类构造方法中,有一个默认隐含的“super()”调用
👇
一定是先调用父类的构造

super():

  • 这是在调用父类无参构造函数
  • 只有在子类构造方法中,才可以写这条语句(调用父类构造方法
  • 在子类中必须是第一条语句
  • 不能一个子类调用多次super构造
    在这里插入图片描述

P161 super关键字的三种用法

都是在子类中使用,访问父类的xxx:

  • 成员方法中,访问父类的成员变量
  • 成员方法中,访问父类的成员方法
  • 构造方法中,访问父类的构造方法

P162 this关键字的三种用法

在一个类的成员方法中使用,访问本类的xxx:

  • 本类的成员方法中,访问本类的成员变量
  • 本类的成员方法中,访问本类的另一个成员方法
  • 本类的构造方法中,访问本类的另一个构造方法

在这里插入图片描述
在这里插入图片描述
==this(另一个方法中的参数)==即可,无需this.

注意:构造调用另一构造:this()调用至多只能有一个,且放在第一句
构造函数中,super()和this()两种不能同时使用(因为都只能放在第一句)

在这里插入图片描述

P163 super与this关键字

看不进去

P164 继承的特点

java是单继承==》只能有一个爸爸!(指直接继承中

class A{}
class B extends A{}//√
class C{}
class D extends A,C{}//×

但是可以【多级继承】

  • 当爷爷即可
class A{}
class B extends A{}//正确
class C extends B{}//正确

A成为了C的间接父类

一个父类可以有很多子类==》可以生二胎/有很多兄弟姐妹

class A{}
class B extends A{}//正确
class C extends A{}//正确

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值