java 24

方法的覆盖

              1. 方法覆盖又被称为方法重写
              2. 什么时候使用方法重写?
                         当父类中的方法无法满足当前子类中的业务需求,
                         子类有必要将父类中继承过来的方法进行重新编写
                         这个重新编写的过程称为方法重写/方法覆盖
              3. 什么条件满足之后会发生方法重写?
                         * 方法重写发生在具有  "继承关系"  的父子类之间
                         * 方法重写的时候:返回值类型相同,方法名相同,形参列表相同
                         * 方法重写的时候:返回权限不能低,可以更高
                         * 方法重写的时候:抛出异常不能更多,可以更少
              4. 建立方法重写尽量用工具生成
              5. 注意:
                         * 私有方法不能继承,所以不能覆盖
                         * 构造方法不能继承,所以不能覆盖
                         * 静态方法不存在覆盖
                         * 覆盖只针对方法,不针对属性(变量)

final关键字

       1.关于Java语言中的关键字:
              * final翻译为:最终的,不可变的
              * final修饰的类无法继承、无法覆盖
              * final修饰的类无法覆盖
              * final修饰的变量一旦赋值之后,不可以重新赋值
              * final修饰的实例变量
                    原因:实例变量已经有默认值。【构造函数】,final修饰的变量一旦复制,不可以在重新赋值
                    综合考虑:使用final修饰之后,必须手动赋值,不能采用系统赋值
                    第一种解决方案:手动赋值
                    第二种解决方案:使用构造方法赋值
              * final修饰的引用
                    - 一旦指向某个对象之后,无法在指向其他对象,那么指向的对象无法被垃圾回收机制回收
                      但是所指向的对象内部的内存是可以修改的
              * final修饰实例变量是不可变的,这种变量常常与static联合使用,称为“常量”
                    - 常量定义的语法格式:
                              public static final 类型 常量名 = 值;
       2. 所学习的类库,包括:
              - 源码【看源码理解程序】
              - 字节码【程序开发过程中使用的部分】
              - 帮助文档【帮助信息,对源码的解释信息】

包和import

         1. 关于Java语言当中的包机制:
                   * 引用包机制的主要是为了程序的执行方便
                      不同功能的类被分门别类放到不同的软件包当中
                   * 怎么定义package?
                            - 在Java源程序的第一行语句编写package语句
                              package只能编写一个语句
                            - 语法结构
                                   package 包名;  
                   * package的命名规则:
                            公司域名倒序+项目名+模块名+功能名;【重名的几率低】   
                   * 包名要求全部小写,必须遵守标识符命名规则,包名也是标识符
                   * 目录之间用   “.”  隔开
                   * 一个包对应一个目录
                   * 使用了package之后,类名将不在是原先的名字了
                      而是,【公司域名倒序+项目名+模块名+功能名】 的结合
                   * 包名在统一文件下可以省略  
                   
         2. import 导入
                 *  “*”表示所有,如果代码在同一个包中那么可以使用这个符号进行包的导入,减少步骤
                 * import用来完成导入其它类,同一个包下的类的不需要导入,不在同一个包的类需要手动导入
                 * 语法格式:
                          - import 类名;
                          - import 包名.*;
                          - import语句需要编写在package之下,class语句之上      
                 * 什么时候需要import?
                          - 不是Java.lang包下。并且不在同一个包下的时候。需要使用import进行引入
                          - 导包的快捷键:CTRL+shift+O;

访问控制权限修饰符

           1. 访问控制权限修饰符来控制元素的访问范围
           2. 访问控制权限的修饰符包括:
                      - public  【表示公开的,任何位置都可以及进行访问】
                      - protected 【表示保护的,】
                             * 同包  和  子类 下可以在不同的包和类进行访问
                               如:出了本包,前提是,你得使用子类才能使用
                                      同包:就是在同一个包名下也可以进行访问
                      - private  【表示私有的,只能在本类中进行访问】
                      - 缺省   【修饰符不写。则该语句表示缺省 】
                             * 同包
                             * 出了包。前提是你得使用包名才能访问
           3. 访问控制权限修饰符可以修饰类、变量、方法....
           4. 当某个数据只希望在类使用,使用protect进行修饰
           5. 修饰符的范围:
                      private < 缺省 < protected < public
           6. 类只能采用public和缺省的修饰符进行修饰【内部类除外(类中在定义类)】     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值