Spark-Java Day11

1 面向对象三大特性之继承
1.1 继承的好处
提高复用性
1.2 继承的语法
class 类名 extends 父类名{}
1.3 继承使用的时机
a 多个类中有相同的内容,提取中一个父类
b 在写子类时,发现有父类可以继承
2 继承之成员变量
2.1 父类中所有成员变量都会被子类继承下去
如果父类成员变量是私有的,子类不能直接访问
2.2 成员变量不重名
访问成员变量不影响
2.3 成员变量重名
this.成员变量 就近原则(访问子类成员变量)
super.成员变量 访问父类成员变量

3 继承之成员方法
3.1 成员方法不重复
访问成员方法无影响
3.2 成员方法重复(方法的重写)
对父类方法升级
依然用父类:
本类 : super调用
其他类:无法直接使用,可以间接使用
4 重写的条件
a 必须是父子类
b 方法名必须相同
c 形参列表必须相同
d 和返回值有关
Object是String的父类
Animal是Cat父类
基本数据类型必须与父类一致
对于引用数据类型来说,子类的要小于父类的。
e 和权限修饰符有关
子类的要大于等于父类的
5 静态的方法不允许被重写
6 继承的应用
6.1 this调用属性
this.成员变量 调用的是谁的,看类型
this的类型是谁,就看this在哪个类中
6.2 this调用方法
this.成员方法 调用的是谁看实际对象
this的实际对象是谁,看new的是谁
7 继承之构造器
a 由于构造器名称和类名一致,因此子类无法继承构造器
b 构造器作用是初始化成员变量
类加载时先加载父类,后加载子类
实例化对象时,父类空间优于子类对象的产生(先执行父类构造器,再执行子类构造器)
每个构造器首行都会有默认一行代码,super(),调用父类无参构造。
要求:
a super()如果显示创建,也必须在首行
b 父类必须存在无参构造器,否则默认情况会出错
8 java有一个特点:单继承
一个类只能有一个直接父类,单一个类可以有多个子类
任何了类都是有父类的,创建类时如没有写extends,默认继承Objects类
9 super
super指的是子类对象中的父类空间
this指的是子类对象
用法:
super.内容
调用父类的属性或方法
this.内容
调用自己的属性或方法
共同点:找不到都会向上一级一级的找
super(【实参列表】)
调用父类的构造器(对父类空间进行初始化)
this()
调用本类构造器
特点:
都在构造器第一行,不能同时出现
10 final
最终的不可更改的
a 修饰类
该类不允许被继承
String类就是final修饰的
b 修饰变量
该变量就变为了常量(不可以被修改)
final修饰成员变量,必须要初始化
final修饰局部变量,可以不初始化,但是无法使用
常量名:建议全大写,多个单词使用_隔开
c 修饰方法
该方法不能被重写

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值