封装、继承、重写

1. 包机制

  • java引入了包机制
    包信息存在与java代码的第一行,类的上面

     包的定义规范 : com.yjxxt.xxxx
     标识符规范 : 全部小写
     作用:
         1)方便管理众多资源
         2)引入多重命名空间
     导包 :指明要使用的资源所在的位置。
         1)使用的位置使用权限定名java.util.Scanner,只在当前位置有效。
         2)使用import导包,在类的上面,package信息的下面,一个Java文件所有类有效。
         3)*模糊导入,模糊匹配当前包下的所有类,会降低编译效率,不会降低运行效率。
         4)静态导入只导入静态内容 :import static
     不需要导包的类 :
          java.lang
          同包下的类
    

2. 封装

  • 原由

     安全隐患问题 :
         属性赋值,值有可能出现符合类型范围要求但是不符合业务要求的数据。
    
  • private 私有的

     被private关键字修饰的内容只能在本类中使用,其他类中无法使用。
     私有属性需要配合提供一对公共的访问方式--> 方法,因为在方法中可以做逻辑判断。
     设置器 setter : 为私有属性设置值。
     访问器 getter : 获取私有属性。
     注意:  定义实体类时属性都需要私有化,并且提供一对公共的访问方式。
    
  • 封装 :
    隐藏内部的实现细节,对外提供公共的访问方式。

     优点 :
        提高程序的安全性。
        提高代码的复用性。
     注意:
        私有是封装 √
        封装是私有 ×
    

3. 继承
子承父业

  定义: 子类  extends  父类
  实体类|子类 : 根据一系列对象抽取共性所定义的实体类。
  父类 : 子类的共性。
         子类| 派生类          父类 | 基类 | 超类
  目的: 提高代码的复用性。
  作用: 子类一旦继承父类,有权使用父类中的成员,可以在子类中定义子类独有的内容。
  特点 : 
    (1)单继承机制 ,一个子类只能继承一个父类,但是一个父类可以存在多个子类。
    (2)修饰类只能使用public|default(默认)。
    (3)开闭原则--> 面试对象设计原则之一: 对修改关闭,对扩展开放。
单继承的优点 : 简单。
单继承的缺点 : 不便于后期维护。

4. 访问权限修饰符

                          本类         同包类     不同包下的类      不同包下的其他类
    private私有的           √
    default默认的           √             √
    protected受保护的       √             √           √
    public公共的            √             √           √                 √
注意:
    (1)都是成员修饰符,只能修饰成员,不能修饰局部。
    (2)能够修饰类的 : public | default。
    (3)Protected修饰的成员在不同包下的子类中,需要通过继承关系使用。
    (4)最常用的两种权限 : public|private。

5. super

  • uper 与 this 之间的区别:

     1.this 指代当前new对象。
         (1)本类构造器的首行调用本类中的其他构造器this(参数列表)。
         (2)区分局部与成员同名问题。
         (3)默认就近原则。
         (4)通过this.调用成员。
     2.super 指代父类对象。
         (1)子类构造器的首行,通过super(参数)调用父类中的指定构造器。
          如果没有显示通过super(参数)调用,默认调用父类的空构造。
         (2)区分子父类中同名成员.
          如果不存在同名问题 : 可以省略super.调用父类成员。
          如果存在子父类同名成员问题,同名局部问题 :
             1)默认就近原则。
             2)有局部找局部。
             3)通过this.找子类成员。
             4)通过super.找父类成员。
     注意:
         (1)子父类继承关系下 : 创建子类对象的时候,其实会先父类后子类
         (2)不能在构造器的首行同时使用this(参数)与super(参数)。
         (3)this与super都不能使用在静态方法中。
    

6. 重写

  • 重写 与 重载 之间的区别 :
    都是方法的特性

     1.重载的实现条件 :
         1)一个类中的多个方法。
         2)方法名相同。
         3)参数列表不同|方法签名不同。
     2.重写的实现条件:
         1)两个类。
         2)继承|实现。
         3)方法签名完全相同。
     3.重写的需求 :
         当子类从父类中继承的功能满意,对功能实现不满意的时候,可以在子类对从父类中继承的功能重新实现。
    
  • 调用使用 :

     如果子类中没有重写,调用父类的,父类没有报错。
     如果子类存在重写方法,调用子类中重写后的方法,对父类的方法进行屏蔽。
    
  • 检测是否为重写方法 :

     1.idea行号后面的位置出现o向上箭头。
     2.在重写方法上添加注解 @Override。
    
  • 不能被重写的方法 :

     1.被private修饰的方法不能被重写。(能被子类继承,但是无权使用)
     2.被final修饰的方法不能被重写。
     3.被static修饰的方法不能被重写。
        1)可以被继承不能被重写。
        2)如果子类中出现与父类中静态方法同名的方法,要求子类中这个同名的方法也被static修饰。
    

7. final与javabean

  • final:
    最终的

     被final修饰的变量为常量。
     被final修饰的方法不能被重写。
     被final修饰的类不能被继承。
    
  • javabean:
    一系列实体类的统称。

     定义规范 :
         1.类是公共的。
         2.至少一个空构造。
         3.属性私有化。
         4.提供一对公共的访问方式。
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值