第一讲:继承

继承

1.1继承
格式:public class 子类名 extends 父类名{}
父类:也被称为基类、超类
子类的特点:子类可以有父类的内容,也可以有自己特有的内容
注意:在程序实现时应建立起子类与父类之间的联系

1.2继承的好处和弊端
好处
提高了代码的复用性
提高了代码的维护性

弊端
    继承增强了类的耦合性

什么时候使用继承
    二者之间有关联
    如水果和苹果,动物和猫

1.3继承中变量的访问特点
在子类方法中访问一个变量
先在子类局部范围内(子类方法中)找
再在子类的成员变量中找
最后在父类的成员变量中找
如果都没有就报错

1.4super
this:访问子类的成员变量
super:访问父类的成员变量
this和super的三种使用方法
访问成员变量(this.成员变量/super.成员变量)
访问构造方法(this(…)/super(…))
访问成员方法(this.成员方法(…)/super.成员方法(…))

1.5继承中构造方法的访问
为什么调用子类构造方法的时候会调用父类的无参构造方法?
子类调用构造方法之前需要初始化父类的构造方法
子类构造方法中默认有一条super()语句,而括号中无参,因此调用的是父类的无参构造方法

当父类中没有无参构造方法时该怎么办?
    手动加上super(argument)的语句,访问父类的带参构造方法
    在父类中书写一个无参构造方法(推荐)

1.6继承中成员方法的访问特点
先在子类成员范围内找
再在父类成员范围内找
找不到就报错(不考虑父亲的父亲…只考虑父亲)

1.7super内存图
栈内存
堆内存

1.8方法重写
概述:子类中出现了和父类中一模一样的方法声明
@Override 能够起到检查重写方法正确性的作用

1.9方法重写注意事项①
子类不能继承父类的私有方法(private)
子类重写父类方法的权限不能低于父类被重写方法的权限(public > 默认(default) > private)

1.10方法重写注意事项②
java支持单继承,不支持多继承
java支持多层继承

1.11案例1
1.12案例2
1.包
其实就是文件夹
包的命名
包的建立

2.导包
目的:为了简化代码
引例:import java.util.Scanner
使用:import + 包名

3.修饰符
权限修饰符(public > protected > 默认(default,不写类型)> private)
本类:四种类型的方法都可访问
本包的子类及无关类:不能访问private类型的方法
非本包的子类:不能访问private和默认类型的方法
非本包的无关类:只能访问public

状态修饰符
    final修饰符(最终态)
        ①
            修饰成员方法(方法不能被重写)
            修饰成员变量(变量成为常量,不能被重新赋值)
            修饰类(类是最终类,不能被继承)

        ②
            final修饰基本类型的变量,指的是数据值不能改变(如int类型的变量)
            final修饰引用类型的变量,指的是地址值不能改变,但内容可以改变


    static修饰符(静态)
        ①
            可修饰成员变量和成员方法
            可被所有类的对象共享
            可通过对象名调用,也可通过类名调用,最好用类名调用

        ②static的访问特点
            非静态的成员方法能访问所有的非静态和静态(包括成员变量和成员方法)
            静态的成员方法只能访问静态的(成员变量和成员方法)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值