美文网首页
Java基础(面向对象-封装)

Java基础(面向对象-封装)

作者: F_WJ | 来源:发表于2019-04-16 00:37 被阅读0次
来自unsplash.com

人与造物主最近的一次距离

面向过程

  • 概念:
    强调我怎么做 ---> 执行者

面向对象

  • 概念:
    强调我该叫谁去做 ---> 指挥者
  • 抽象:
    抽取事物 相似的部分

  • 定义:
    某一事物的整体描述
    拥有相同特征( 状态 ) 和行为( 功能 )的多个对象的抽象
  • 组成:
    1). 成员变量( 状态)
    描述事物是什么
    2). 成员方法( 行为 )
    描述事物能做什么
  • 语法:
public class 类名{
    //可编写0到N个成员变量
    [修饰符] 数据类型 变量1;
    //可编写0到N个成员方法
    [修饰符] 返回类型 方法名称(参数){
        //方法体
    }
}

对象

  • 定义:
    • 类的实例化( 该类的事物的具体表现)
  • 基本操作:

1). 创建对象格式

类名 对象变量名 = new 类名();

2). 设置字段( 类中的成员变量 )

对象变量名.字段名 = 值;

3). 获取字段( 类中的成员变量 )

数据类型(字段) 变量名 = 对象变量名.字段名;

4). 调用方法

对象变量名.方法([参数]);

变量

  • 成员变量( 字段 Field):
    1). 初始值:
    默认是有初始值的, 不同类型的初始值
    2). 作用域:
    在所定义的类中都有效( 方法外 )
    3). 生命周期:
    存储在堆内存中, 随着对象的销毁而销毁
  • 局部变量:
    1). 初始值:
    没有初始值, 必须手动先初始化才能使用
    2). 作用域:
    从开始定义的位置开始, 只能在自己所在的花括号内有效( 方法内 )
    3). 生命周期:
    存储在栈内存中, 随着所定义方法的调用结束而销毁

访问修饰符

访问权限从上到下增加( 同一类 --> 同一包 --> 子类 ---> 任何地方)

  • private:
    表示当前类私有的, 类访问权限, 只能在本类中使用
  • 省略:
    表示当前包私有, 包括访问权限, 定义和调用只能在同一个包中, 才能访问
  • protected:
    表示子类访问权限, 同包中的可以访问, 即使不同包但是有继承关系也可以访问
  • public:
    表示公共的, 可以在当前项目中任何地方访问

构造器

  • 语法:
private 成员变量;
public 类名(){
}
public void set成员变量名(成员变量类型 成员变量名){
    成员变量 = 参数;
}
public 数据类型 get变量名(){
    return 成员变量名;
}
  • 格式注意:
    1). 构造器名称和类名相同
    2). 不能定义返回类型
    3). 不能使用return语句
  • 使用注意:
    • 默认情况下, 编译器会创建一个缺省的构造器( 无参数, 无方法体 )
    • 是否使用public修饰符和类是否使用public有关
    • 当自定义构造器之后, 编译器不再创建默认的构造器
    • 同一类中的多个构造器之间是重载关系
    • 构造器只能通过new使用( 格式: new 构造器(); )

封装

  • 定义:
    隐藏实现细节, 对外提供访问方式
  • getter方法:
    仅仅用于返回某一个字段的值
  • setter方法:
    仅仅用来给某一个字段设置值
  • 优势:
    提高安全性( 防止调用者随意修改数据 )
    提高代码的复用性 (方法的使用)
  • JavaBean规范:
    1). 类必须使用public修饰
    2). 必须保证有公共无参数构造器
    3). 字段( 成员变量 )使用private修饰符, 每个字段提供一对getter和setter方法

相关文章

网友评论

      本文标题:Java基础(面向对象-封装)

      本文链接:https://www.haomeiwen.com/subject/kpbmwqtx.html