萌新学Java之面向对象继承、super 关键字和重写

比如有三个类,人、教师、学生,教师和学生都属于人,可以理解成二叉树

extends 意为“扩展”,子类是父类的扩展

子类继承父类,在子类的后面加 extends 父类

定义一个 Person 父类,里面写个 say() 方法

再定义一个 Student 子类,加 extends 继承父类

在另一个类的 main 方法里 new 一个子类,调用方法

可以看到子类里没有方法,但因为继承了父类,所以可以调用父类的方法

子类继承了父类,就会拥有父类的全部方法

父类里属性私有,可以通过 get/set 方式使用

按 ctrl + h,打开一棵树,显示继承关系

在 Java 中,所有的类,都默认直接或间接继承 Object 类

方法里 this 调用当前类里的对象(变量或方法)

子类方法里 super 调用父类里的对象(变量或方法)

每个类里都有隐藏方法,即无参构造器,public Person(){ }、public Student(){ }

1. super 调用父类的构造方法,必须在构造方法的第一个

2. super 必须只能出现在子类的方法或者构造方法中

3. super 和 this 不能同时调用构造方法

super 和 this 的区别:

1.代表的对象不同:

this:本身调用者这个对象

super:代表父类对象的应用

2.前提:

this:没有继承也可以使用

super:只能在继承条件中使用

3.构造方法:

this():本类的构造

super():父类的构造

重写是方法的重写,与属性无关

重写需要有继承关系,子类重写父类的方法

1.方法名必须相同

2.参数列表必须相同

3.修饰符:范围可以扩大但不能缩小

优先级从高到低排序:

public(公共的) > protected(受保护的) > default (默认的)> private(私有的)

即父类可以是 protected(低),重写的子类可以是 public(高),不能反

4.抛出的异常范围可以被缩小,但不能扩大

ClassNotFoundException --> Exception

重写的子类方法和父类必须一致方法体不同

可以直接在子类里输入方法,idea 自动显示重写

也可以按 alt + insert ,点击 override,也能出现重写

前提是父类有该方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值