Java学习day11

day11-课堂笔记

1、多态基础语法

  【一个引例】

  【动物类】

  (包含了一个实例方法)

 

 

   【猫类】

  (包含了两个实例方法)

 

 

 

    【鸟类】

  (包含了一个实例方法) 

 

 

    【测试】

 

 

  【第5点,Cat类继承了Animal类的方法,所以即便没有重写,也可以调用从Animal继承来的move()方法】

 

  【instanceof】

  【向下转型downcasting】

   

 

 

====================================================================================================================================

   【Debug设置断点】

 

 

   然后

 

 

 

   弹出窗口(若没设置断点,则不会弹出)

 

 

 

 

 

   

  【运行完后可以设置断点,然后按下图继续Debug】

 

 

 

 

   【学会这几个快捷键F5:进入方法,按步执行 F6:执行下一行 F7:方法返回 F8:执行到下一个断点】

 

 

  【如果上面的几个按钮变成灰色,可能是没设置断点,不设置断点不能Debug】

 

 

 

   【设置多个断点的目的是,断点之间的程序不想看,可以 F8 直接跳至下一个断点】

 

 

 

 

  【Debug的作用,就是看程序执行过程中各变量的值的变化,方便检查出错误】

======================================================================================= 

2、多态在实际开发中的作用

  【Master】

 

  (括号中的 Cat c ,Cat是一个类名,类似String,c是被定义出的一个引用变量)

  【喂哪只猫,哪只猫就吃】

 

    【Cat】

 

 

   【Test】

 

 

 

  (在测试中创建主人对象,宠物对象)

 

 

   【Dog】

 

 

 

  【未使用多态】

 

 

 

  【使用多态】

   【Pet】

 

  【Master应当面向抽象的Pet】

 

 

 

   

   【继承了Pet的Dog】(猫狗是Pet的多态)

 

 

    【继承了Pet的Cat】

 

 

   【多态测试】

 

 

   (传递新的子类对象)

 

  【多态的作用】

 

 

 

 

  【个人理解:以主人、宠物、猫、狗为例,子类猫和狗继承于父类宠物,猫和狗的吃鱼和啃骨头是基于父类宠物的多态(多样性),并且多态以方法覆盖(个性化)实现】

======================================================================================================================================

 

  【如何链接源码】【类库包含三个部分:源码、字节码、帮助文档】

 

 

 

 

 

 

 

 

 

 

 

  

  java下的src.zip文件是class文件的源码文件

 

 

 

   若将src.zip剪切到其他位置(比如桌面),则在myeclipse中打开class文件后看不到源码

 

 

 

  

 

 

     在弹出窗口中,找到src.zip文件所在位置,确定

 

 

   注意:但仅部分代码能看,但不是所有的代码都能看到源码

  Ctrl + Shift + T,快速查找class文件

  Ctrl + Shift + R,快速查找resource

 

  【返回值为String类型的方法在调用时不用new,直接 "字符串" . 方法名() ,因为String.class文件在方法区内存,不需要对象】 

  【工具类直接调用,不需要创建对象】

==========================================================================================================

3、final关键字

 

 

 

   部分格式:public final ....,final int i ... ; ,final User u = new User(); ...

 

 

 

  【用final修饰的变量只能被赋值一次】

 

 

 

 

 

   【final修饰的引用,不可二次指向】

 

 

 

 

   【final定义常量:public static final 类型 常量名 = 值】

 

 

 

 ======================================================================================================================

4、关于package和import

  【上面的运行:java + 完整类名 com. .....】

 

   【上面说的指定目录若不在集成开发环境中,则需手动创建】

 

 

 

 

  【import】

  【两个类不在同一个包内,使用import实现调用,可简化语句】

 

   【import用于导入其他类】

   【java.lang.* 包不需要被import引入,即lang包下的class文件不需要导入】

 

 

  【Ctrl + Shift + O,快捷导入包,生成代码import 包名】

  在当前包所在的类中,若想使用其它包内的类来创建对象,则要先在package和class之间,生成import语句,用于包的导入

 

 

  Ctrl + Shift + O,快捷导入包界面

 

 

 

 

 

PS:在MyEclipse中,import和package,操作简便

=============================================================

  【IDEA中的import会自动生成】

  比如,下面调用Scanner,import会自动生成,不需要手动写

 

 

5、关于访问控制权限

  【访问控制权限修饰符】

   【小结】

 

  【访问控制权限修饰符可以修饰属性、方法、类、接口...】

 

  

   【类只能采用public和缺省的修饰符进行修饰(内部类除外)】

 

 

 

===================================================================================

  【总结回顾】

 

posted @ 2020-10-08 20:25  18751612782  阅读(81)  评论(0)    收藏  举报