Java入门——day6

构造器:与类名相同,且没有返回值

    

快捷键:alt + insert

    

 

 

     有参构造选择“OK”,无参构造选择“Select None”

    

 

 

 

面向对象的三大特性:封装、继承、多态

  1.封装

      

 

 

       

      当类中的方法为public时, 可以在其他类中通过 对象名.属性名 进行操作

      当类中的方法为private时,无法在其他类中通过 对象名.属性名 进行操作

      

 

 

 

       

      此时可以使用get / set方法进行操作:

 

 

                      1. get:

                      2. set:

 

 

       

                      3. 此时使用setName对方法中的name属性进行赋值:

 

 

      

 

      在编写代码时应将类中的属性方法定义为私有(private),然后通过在类中创建get / set 方法来对类中的属性和方法进行调用

 

      快捷创建get / set方法:alt + insert,第2,3,4均可        选择要创建方法的属性      

 

 

                          

 

    选择OK即可

          

 

 

   2.继承

 

 

       

      

       Java中只有单继承没有多继承(一个子类只能由一个父类,但一个父类可有多个子类  )

       crtl + h :查看继承的层级

          

 

       

        

      修饰符(public、protected、private)的区别:

      

 

       

      

      protected:对于同属于其父类的其他类,可以直接使用。否则和 private 作用相同

      private(私有)的属性 可以被 继承 ,但无法被其他类 访问 !!!

  

      举例:

      

 

       结果为:

 

          

       第一个  表示调用test方法时传给形参name的值

 

       第二个 表示当前类中定义的name属性的值

 

       第三个表示当前类所归属的父类中name的值

 

       

       子类通过 super 来访问父类中的属性

     

      PS:在new对象(使用构造器时会先构造父类,再构造子类)

      

      

 

        

 

 

      执行结果:

 

      

     结论:1. super 调用 父类 的构造方法时,必须在构造方法的第一个

        2. super 只能在  子类的方法或构造方法中使用

        3. super 和 this 不能同时调用构造方法

         

 

       

    方法的 重写 :  前提是存在继承关系,是 父类重写子类的 方法

            1.  方法名     必须相同

            2.  参数列表 必须相同,否则变为重载

            3.  修饰符的范围可以 扩大:public > protected > default > private

            4.  抛出的异常范围可以被缩小,不能扩大

            5.  被 final 修饰的无法进行重写

            快捷键:Alt + Insert,选择override

            

 

  3.多态: 

 

        

          是方法的多态

       子类对象只能调用自己或者所继承父类的方法

       父类不能调用子类独有的方法,如果要调用需要进行强制类型转换         

        

 

       eat 方法在子类中,通过父类的对象名调用 eat 时需要对父类的对象进行强制类型转换,转换为子类对象

        

 

       instanceof:测试它左边的对象是否是它右边的类的实例,是返回True,否则返回False

       

posted @ 2022-01-11 21:13  TRUENO-86  阅读(34)  评论(0)    收藏  举报