面向对象入门2--继承

1:代码块是什么?代码块的分类和各自特点?

      java中,用{}括起来的代码,就是代码块!
      局部代码块:用来限定变量的生命周期,出现在main方法中
      构造代码块:类中的成员位置,{代码块}用来给对象的数据进行初始化,每次执行构造方法之前,要执行构造代码块
      静态代码块:类中的成员位置,也是用{代码块},在代码的前面,用static代码
      作用:静态是和类有关系的,随着类的加载而加载,给类进行初始化
      在类中:只加载一次!
    
2:静态代码块,构造代码块,构造方法的执行流程?

     静态代码块---->构造代码块----->构造方法
     构造代码块:每次在执行构造方法之前,要先走构造代码块
     静态代码:在内存中只加载一次!
 
3:继承概述
     将多个类的共性内容,抽取到一个独立的类中,独立的类和着多个类就产生一种关系:extends:表示继承
       格式:
         class Zi extends Fu{
     
         }

wKiom1lkHw7zEWntAADfvYJdviQ158.png-wh_50
     4:继承的好处

     继承的好处:
        A:提高代码复用性
        B:提高代码维护性
        C:让类与类产生了一种关系,它是多态的前提!
 
       让类与类产生的这种关系,也是一种弊端!
            耦合性
    
       java中开发原则:低耦合,高内聚
      
        耦合性:指的是多个类产生的这种关系
        内聚:指的是自己完成某件事情能力
  
5:Java中继承的特点

       A: 在java中,只支持单继承,不支持多继承,
            别的语言,可以支持多继承的:class Zi extends Father,Monther{..}
       B:虽然java中不支持多继承,但是可以支持多层继承
 
6:Java中继承的注意事项?以及我们什么时候使用继承?

     注意事项:父类所有非私有的成员(成员方法和成员变量)
     其实这也体现了继承的另一个弊端:打破了封装性
     子类不能继承父类的构造方法,但是可以通过super(后面讲)关键字去访问父类构造方法。
     不要为了部分功能而去继承
     什么时候使用:中类之间体现的是:”is a”的关系。

7:继承中的成员访问特点

     A:成员变量
          在子类方法中访问一个变量
     B:成员方法
          在测试类中通过子类对象去访问一个方法
  

wKioL1lkHm_yyVIfAAEI1elyW6M596.png-wh_50
8:继承中构造方法的执行流程?假如父类没有无参构造方法,子类应该怎么办?

     若父类没有无参构造方法,则:
          子类通过super去显示调用父类其他的带参的构造方法
          子类通过this去调用本类的其他构造方法
          本类其他构造也必须首先访问了父类构造
   一定要注意:
            super(…)或者this(….)必须出现在第一条语句山
           否则,就会有父类数据的多次初始化


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章