访问权限和封装

来源:互联网 发布:英雄皮肤淘宝店 编辑:程序博客网 时间:2024/06/07 08:29

访问权限

  • 概念
    • 用来限定其他对象对该类对象成员的访问权限,通过控制权限达到隐藏信息
    • 高内聚:内部数据操作细节自己完成
    • 低耦合:仅暴露少量方法给外部使用
      权限修饰符
    • 特点:
      • public:任何地方都可以访问
      • protected:子类访问权限
      • default(不写):一个包中可以访问
      • private:只有类内部使用

修饰符

  • 总体

    • 类:public修饰符 default(不写) final修饰符 abstract修饰符
    • 成员变量:4权限修饰符 final修饰符 static修饰符
    • 局部变量:final修饰符
    • 方法:4权限修饰符 ,final修饰符,static修饰符,abstract修饰符
  • final修饰符

    • 可以修饰类 成员变量 局部变量 和 方法
    • 修饰类:表示类不能继承
    • 修饰方法:不能被重写,可以重载
    • 修饰变量:值不能改变
      • final修饰的变量需要显示初始化
      • 值为基本数据类型,值不能改变
      • 值为引用类型,是说引用代表的地址值不能改变,即引用无法指向其他对象,但是原有的对象内容可以改变。
      • final修饰的某些变量,会在编译后直接被值代替
  • static修饰符

    • 可以修饰方法,成员变量和代码块
    • 修饰变量:静态变量
      • 类加载时就创建,在内存中只有一个拷贝,JVM只分配一次内存
      • 在对象间共享值时,可以使用
      • 方便访问变量时
    • 修饰方法:静态方法,不需要对象可调用。类名。方法名

      • 不能有super和this关键字
      • 不能访问非静态方法和非静态变量
      • 不能被abstract修饰
      • 会破坏多态
      • main方法需要时static的原因是程序入口时还没有创建对象,因此调用的方法必须是static的
      • 某种程度上,构造器也算是static的,因为需要无对象调用
    • 修饰代码块:静态代码块

      • 类加载时执行
      • 只执行一次
  • abstract修饰符

    • 修饰类和方法
    • 不能和static final和private一起使用
    • 修饰类:抽象类

      • 不能实例化
      • 可以有构造器
    • 修饰方法:抽象方法

      • 只有声明,没有实现
      • 子类必须重写父类的抽象方法
原创粉丝点击