Java初学笔记--面相对象2

一、继承
- 作用:实现代码复用
- 用 extends 实现继承
        --超类、基类、父类(共有的属性和行为)
        --派生类、子类(特有的属性和行为)
- 派生类可以访问:超类+派生类,但超类不能访问派生类的
- 一个超类可以有多个派生类 但一个派生类也只能有一个超类  称为单继承
- 继承具有传递性

Java规定:构造派生类之前必须先构造超类
1.在派生类的构造方法中若没有调用超类的构造方法,则默认super()调用超类的无参构造方法
注:super()调用超类构造方法必须位于派生类构造方法的第一行

public class SuperDemo {
    public static void main(String[] args) {
        Boo o =new Boo();
    }
}

class Aoo {
    Aoo(){
        System.out.println("超类构造方法");
    }
}
class Boo extends Aoo{
    Boo(){
        super();//默认的,调用超类的无参构造方法

        System.out.println("派生类构造方法");
    }
}

 

2.在派生类的构造方法中若自己调用了超类的构造方法,则不再默认提供

二、super
作用:指代当前队形的超类对象
super用法:
1.super.成员变量名------------访问超类的成员变量
--当超类成员变量和派生类成员变量同名时,super指超类的,this指派生类的
--若没有同名现象,则写super和this是一样的
2.super.方法名()----------------调用超类的方法
3.super()--------------------------调用超类的构造方法

三、方法的重写(override/overriding):重新写、覆盖
--发生在父子类中 ,方法名相同,参数列表相同
--重写方法被调用时 看对象的类型执行方法-----------new谁的就调用谁的方法
1.重写不是一定发生的
2.就想把超类的改了 就直接重写
3.想在超类的基础上加 重写时先super超类的,再加自己的

补充:
1.泛化:从程序设计角度而言叫泛化,从代码角度而言叫继承,泛化就是继承
2.继承要符合is是的关系
3.继承的是超类的成员变量和普通方法,但不包括构造方法,超类的构造方法不是被派生类继承的,而是被派生类通过super()来调用的

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值