Java oop的继承

  1. 继承:extends
    (1) 子类继承父类:在每个子类对象中都有一个独有的父类对象

     this是当前对象this(参数列表)在当前类写构造方法中调用其他重载构造
     super是父类对象,super(参数列表)在子类构造中调用父类的构造
     this()||super()必须位于第一行
    

    (2) 继承是一种高级封装
    (3) 不能继承父类内容有:私有的成员变量和方法、构造方法、非同包父类受保护类型 protected
    (4) 通过访问修饰符和包进行访问权限控制

             	类内     同包     不同包子类   其他
     private          √                  
     default          √       √
     protected        √       √        √
     public           √       √        √         √
    

    (5) 构造方法<普通代码块<静态代码块
    (6) Static:

     a.被static修饰的属性和方法称之为类属性与类方法,无需对象,通过类名就可以访问
     
     b.但是static违背了OOP
     JVM启动时装载字节码文件过程中创建所有的静态内容,当jvm关闭时static内容才会被销毁。(存在时间太长)
     
     c.何时使用:使用频次高,且当前工程中许多类需要用
     
     d.静态方法只能使用静态属性,和静态方法
    

    (7) 重写,重载

      重载:同一个类名中名称相同参数不同的方法
      重写:子类重写父类同名,同参,同返回值的方法
    

    (8) 转型:有继承关系的对象类型的转化

        a.自动类型转换:父类引用指向子类的对象    
        b.强制类型转换:不是将父类的对象转为子类对象    
      	  1) 通过instance of 运算符判定父类引用转向子类对象的实际类型         
     	  2)否则:java.lang.ClassCastException  类型转换异常
    

    (9) 多态:一种类型,多种表现形态

       a.继承 
       b.重写
       c.实现方法:一个父类有多个子类,在构建方法时以父类的引用作为形参,在调用方法时,传入不同子类对象的实参
    

猜你喜欢

转载自blog.csdn.net/ccsynl/article/details/106970990