• java笔记 chapter4 继承,super,覆盖和重载


    继承extends
    单继承性
    构造方法不能被继承
    关键字super
    方法重载
    多态
    instanceof运算符:用来判断某个变量是不是。。的一个实例
     
    继承:
    1,单继承性
    2,构造方法是不能被继承的:构造方法是个new关键字创建实例并分配内存空间后的一个回调方法,
    3,父类里private的属性和方法是不能被继承的(换言之,子类是无法访问父类private的属性和方法。除非对属性设置getter、setter,或者把private权限改成其他的protected,public或者不写权限。)
    4,初始化子类必先初始化他的父类。初始化一个类必先初始化他的属性。
     
    关键字super:
    1,点取父类中被子类隐藏的数据成员
    2,区分同名变量
         如果父类有一个name属性 子类也有一个name  在子类一个方法中syso(name)那么输出结果是子类的,如果想输出的是父类的name那么就要使用super.name
    3,作为方法名,调用父类的构造方法
         如果父类创建了一个有参并且没有无参构造方法,那么子类运行时必先在子类构造方法中显示的调用父类的构造方法 super关键字必须在第一行。
     
    覆盖重写Override:
         在类继承中,子类可以修改从父类处继承来的方法,也就是说子类里的方法可以跟父类里的某个方法的名称,返回类型和参数列表完全相同,通过创建子类的实例对象调用这个方法时,将会调用子类里面定义的方法,相当于把福来的那个方法给覆盖了,这也是面向对象编程的多态的表现。
     
         覆盖的规则:
    (1):覆盖方法的返回类型、方法名称、参数列表必须与它所覆盖的方法完全相同。
    (2):覆盖方法不能比它所覆盖的方法访问性差(即访问权限不允许缩小)。换言之,子类的权限至少也要跟父类一样,或者比父类大些。
    (3):覆盖方法不能比它所覆盖的方法抛出更多的异常。假如父类方法抛出a b c 异常,那么子类抛出的异常只能是abc里面选,不能是其他的d异常e异常。
     
    重载Overload:
    在同一个Java 类中(包含父类),如果出现了方法名称相同,而参数列表不同的情况就 叫做重载。
    规则:
    (1):方法名称必须相同
    (2):参数列表必须不同(个数不同,或类型不同,或参数排列顺序不同)。
    (3):方法的返回类型可以相同也可以不相同。仅仅返回类型不同不足以成为方法的重 载。 
     
    instanceof是Java的一个二元操作符,也是Java的保留关键字。
    它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据
    public class InstanceofTest{
         public static void main(String [] args) {
     
           String s = "Hello";
           if (s instanceof String) {
             System.out.println("it is a String");
           } else {
                 System.out.println("it is not a String");
            }
         }
    }
    //output:it is a String
     
     
    OO   Object-Oriented 面向对象
    OOP Object-Oriented Pragraming 面向对象编程
    OOD Object-Oriented  Design 面向对象设计
    OOA Object-Oriented Architecture 面向对象架构
  • 相关阅读:
    python加速包numba并行计算多线程
    idea Exception in thread "http-apr-8080-exec-2" java.lang.OutOfMemoryError: PermGen space
    centos6.5 导入matplotlib报错 No module named '_tkinter
    pythonTensorFlow实现yolov3训练自己的目标检测探测自定义数据集
    ajax post请求json数据在spring-controller解析
    python keras YOLOv3实现目标检测
    mybatis 插入语句name no find
    python调用百度语音识别接口实时识别
    idea ssm框架搭建
    OpenCVSSDpython目标探测对象检测
  • 原文地址:https://www.cnblogs.com/wxc-xiaohuang/p/3477426.html
Copyright © 2020-2023  润新知