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

    

Java产生对象 java中创建对象的快捷键_构造方法

快捷键:alt + insert

    

Java产生对象 java中创建对象的快捷键_子类_02

 

 

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

    

Java产生对象 java中创建对象的快捷键_构造方法_03

 

 

 

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

  1.封装

      

Java产生对象 java中创建对象的快捷键_构造方法_04

 

 

       

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

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

      

Java产生对象 java中创建对象的快捷键_父类_05

 

 

 

       

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

 

 

                      1. get:

Java产生对象 java中创建对象的快捷键_Java产生对象_06

                      2. set:

Java产生对象 java中创建对象的快捷键_子类_07

 

 

       

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

Java产生对象 java中创建对象的快捷键_Java产生对象_08

 

 

      

 

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

 

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

 

 

                      

Java产生对象 java中创建对象的快捷键_Java产生对象_09

  

Java产生对象 java中创建对象的快捷键_构造方法_10

  

 

    选择OK即可

          

Java产生对象 java中创建对象的快捷键_父类_11

 

 

   2.继承

 

 

       

Java产生对象 java中创建对象的快捷键_父类_12

      

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

       crtl + h :查看继承的层级

          

Java产生对象 java中创建对象的快捷键_父类_13

 

       

        

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

      

Java产生对象 java中创建对象的快捷键_Java产生对象_14

 

       

      

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

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

  

      举例:

      

Java产生对象 java中创建对象的快捷键_父类_15

 

       结果为:

 

          

Java产生对象 java中创建对象的快捷键_构造方法_16

       第一个 

Java产生对象 java中创建对象的快捷键_Java产生对象_17

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

 

       第二个 

Java产生对象 java中创建对象的快捷键_父类_18

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

 

       第三个

Java产生对象 java中创建对象的快捷键_父类_19

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

 

       

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

     

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

      

Java产生对象 java中创建对象的快捷键_构造方法_20

      

Java产生对象 java中创建对象的快捷键_子类_21

 

        

Java产生对象 java中创建对象的快捷键_子类_22

 

 

      执行结果:

Java产生对象 java中创建对象的快捷键_子类_23

 

      

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

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

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

         

 

       

    方法的 重写 :

Java产生对象 java中创建对象的快捷键_子类_24

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

            1.  方法名     必须相同

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

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

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

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

            快捷键:Alt + Insert,选择override

            

 

  3.多态: 

 

        

Java产生对象 java中创建对象的快捷键_子类_25

          是方法的多态

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

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

        

Java产生对象 java中创建对象的快捷键_子类_26

 

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

        

 

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