zoukankan      html  css  js  c++  java
  • 继承与方法重载

    面向对象三大特征:继承、多态、封装
    继承
    1.Inherit继承:继承可以解决代码复用的问题。当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义,只需要通过extends语句来声明继承某一父类。
    格式:
    class 子类 extends 父类
    这样,子类就会自动拥有父类定义的某些属性和某些方法。
     
    2.子类只能继承父类的public、protected、default 权限的属性和方法!子类不能够继承父类的private 变量或方法。如果不希望父类某些变量或方法被继承,那就设它为private
     
    3.子类只能够继承一个父类!C++才可以多继承
        Java中要实现子类的多继承,那就应该使用接口。
        方法覆盖(override):继承了父类的方法后,可以在子类中对继承的方法进行重写,子类的名称、返回类型、参数要和父类的方法完全一样,如果不一样,那就说明你自己定义了一个新方法。
    还有很重要的一点,子类方法不能缩小父类方法的访问权限!比如父类是public方法,你子类不能是protected、default、private,你父类是default,你子类不能是private,但可以是public、protected,原因: 是因为如果过低的话,将来实现多态的时候就会出现问题, 例子: 在父类中是public的方法,如果子类中将其降低访问权限为private, 那么父类在实现多态时如果调用子类的这个重写方法,但是这个方法已经是private,没有办法调用,所以就无法实现多态了。
     
    4.Java中所有的类都是Object类的子类。在编译器中,可以选中类按Ctrl+T查看类的继承层次结构
     
    5.方法重载:
    •     方法名相同;
    •     方法的参数的类型、个数、顺序至少有一项不同
    •     方法的返回值类型不一样并不能够构成重载
    •     如果只是方法的访问权限不同并不能构成重载
     
    6.boolean instanceof
        用法:XXX instanceof YYY
        判断XXX是不是YYY类型
  • 相关阅读:
    循环语句格式
    使用switch编写一个购物管理系统
    浅谈Spark(1)
    Java内存回收优化及配置
    同步、异步、阻塞、非阻塞IO
    安装聊天软件telegram-cli
    linux命令行下使用vboxmanage安装linux系统
    昨天晚上写了个 Python 程序,下载了一个图片网站 5000 来张图片
    git使用代理clone加速
    smtp发送邮件记得结尾发送" . "
  • 原文地址:https://www.cnblogs.com/Kundalini/p/11707781.html
Copyright © 2011-2022 走看看