传智播客javase总结 3

来源:互联网 发布:淘宝卖家怎么发布宝贝 编辑:程序博客网 时间:2024/05/01 20:10

day08

1、如何制作帮助文档

    1、写一个类

    2、加入文档注释

    3、通过javadoc工具生产即可

                javadoc   -d  目录   -author  -version ArrayTool.java

2、通过jdk提供的api学习使用类


3、代码块

   1、用{ } 括起来的代码

   2、分类:

               A:局部代码快

                      用于限定的生命周期,及早释放,提高内存利用率。

               B:构造代码块

                      把多个构造方法中相同的代码可以放到这里,每个构造方法执行前,首先执行构造代码块。

               C:静态代码块,构造代码块,构造方法的顺序问题?

                                    静态代码块 > 构造代码块 > 构造方法

4、继承

              1、特点:

               A:java中只支持单继承

              B:java中可以多层继承

             2、关键字 :  super 访问父类

                                       this  访问当前类

          

             override 重写

             overload  重载


day09

1、由于继承中有一个现象: 方法重写。所以父类的功能,就会被子类给覆盖掉,有些时候,我们不想让子类去覆盖掉父类的功能,只能让它使用,使用关键字:final


2、对象间的转型问题:

    向上转型:

        Fu f = new Zi();

  向下转型:   Zi z = (Zi)f;



final关键字

1、是最终的意思,可以修饰类、方法、变量

2、特点:

    A:它修饰的类,不能被继承

    B:它修饰的方法,不能被重写

    C:它修饰的变量,是一个变量

3、面试相关:

       A:局部变量:

                   a:基本类型   值不能改变

                   b:引用类型   地址值不能改变,但是其对象的内容是可以改变的。

    B:初始化时机:

                   a:只能初始化一次

                   b:常见的给值    定义的时候,构造方法中


多态(掌握)

1、同一个对象在不同时刻体现出来的不同状态

2、多态的前提

    A:有继承或者实现的时候

   B:有方法重写

    C:有父类或者接口引用子类对象。


多态的分类:

      a:具体类多态

     class  Fu()

     class Zi extend Fu{  }

     Fu f = new Zi();

    b:抽象类多态

    abstract   class  Fu{ }

  class Zi  extend  Fu { }

   Fu f = new Zi();

   c:接口多态

   interface  Fu{}

  class Zi implements Fu() { }

  Fu f = new Zi();

3、多态中成员访问特点

        A:成员变量

             编译看左边,,运行看右边。

       B:构造方法   子类的构造都会默认 访问父类构造

       C:成员方法:编译看左边,,,运行看右边

        D:静态方法 : 编译看右边,运行看左边

4、多态的好处

 A:提高代码的维护性 (继承体现)

 B:提高代码的扩展性(多态体现)


5、 多态中转型

  A:向上转型     从子到父

  B:向下转型    从父到子

 

6、孔子装爹案例。


抽象类

1、把多个共性的东西提取到一个类中,这是继承的做法。但是呢?这多个共性的东西,在有些时候,方法声明一样,但方法体不一样,也就是说,方法声明一样,但是具体到每个具体的对象在具体实现的时候内容不一样,所以,我们在定义这些共性的方法的时候,就不能给出具体的方法体。

   而一个没有具有方法体的方法是抽象方法。在这一个类中,如果有抽象方法,该类必须定义为抽象类。

2、特点:

 A:抽象类和抽象方法必须用关键字 abstract修饰。

 B:抽象类不一定有抽象方法,但是抽象方法的类一定是抽象类。

 C:抽象类不能实例化

  D:抽象类的子类

              a: 是一个抽象类

              b:是一个具体类,这个类必须重写抽象类中的所有方法。

3、几个小问题

 A:抽象类有构造方法,不能实例化,那么构造方法有什么用?  用于子类访问父类数据的初始化。

 B:一个类如果没有抽象方法,却定义了抽象类,有什么用?   为了不让创建对象。

 C:abstract 不能和哪些关键字共存?

      a:final 冲突

      b:private 冲突

      c: static 无意义

4、接口 interface  

                implements 接口名

            后期培养的功能。

 

              




0 0