java的对象封装

∠    面向对象的好处:符合人类的思维习惯。

⊥    面向对象的程序设计过程。

  • 第一步:发现类
  • 第二步:发现类的属性和方法
  • 第三步:发现类的方法
⊥    面向对象的设计过程就是抽象的过程。抽象时遵循的原则如下:
  • 属性和方法的设置是未来解决业务的问题
  • 关注主要的属性和方法
  • 如没必要,勿增加额外的类,属性和方法
⊥    使用类图的好处

        用于分析和设计“类”
        直观、容易理解

类主要有属性和行为组成,属性和行为又称为类的成员变量(或者成员属性)和成员方法,统称为类的成员(除此之外,类的成员还包括构造方法和代码块)。

⊥    JAVA中的创建对象,调用属性及方法
  • 通过构造方法创建对象,如 类名 对象名 = new 类名();
  • 通过对象名.属性名的方式调用属性
  • 通过对象名.方法名的方式调用方法

      类(Class)和对象(Object)是面向对象中的两个核心概念。类是对某一类事物的描述,是抽象的概念上定义的,对象是实际存在的,具体是事物的个体。

      常量:使用final关键字修饰,并且常量名通常为大写。
      final除了修饰属性外,还可以修饰类的方法

∠    构造方法及其重载
⊥    构造函数
访问修饰符   构造方法名 ( ) { 
       //初始化代码
}

作用:实例化对象。

特征:方法名与类名相同,没有返回值,连void也不能有。

创建一个类的时候,会有一个默认的隐式的无参的构造方法,当你显式的给了一个有参的构造方法时,默认的会消失。所以建议大家创建有参构造方法时,创建一个无参的构造方法。

⊥    方法重载

同一类中,方法名相同,参数列表不同。与返回值和修饰符无关。


∠    Static
  • Static可以修饰属性,方法,和代码块。
  • Static修饰的 变量属于这个类的所有
  • Static修饰的属性和方法称为类属性(类变量)和类方法
  • 不用Static修饰的属性和犯法属于单个对象,通常称为实例属性(实例变量)和实例方法。
  • 静态**,在类加载的时候,先加载静态属性,静态代码块。
  • 静态属性,代码块可以用类名调用,也可以用实例对象调用。实例属性和方法只能被实例对象来调用。
⊥    static修饰与非static修饰的区别

在这里插入图片描述

⊥    注意:静态方法中不能使用this和super关键字
⊥    常见错误

结论一:在方法里不可以定义static变量,也就是说,类变量不能是局部变量
结论二:构造方法没返回值类型,如果有,则不是构造方法,而是和构造方法同名的成员方法。


∠    面向对象三大特征之一 ——封装
⊥    封装的概念
  • 封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
  • 封装的步骤
    修改属性可见性,来限制对属性的访问,不允许外不直接访问,而通过该类提供的方法来实现许隐藏信息的操作和访问。
  • 封装的好处
    隐藏类的实现细节
    只能通过规定方法访问数据
    方便加入控制语句
    方便修改实现
⊥    添加getter/setter方法的快捷键:Shift+Alt+S+R
⊥    封装时会用到多个权限控制符来修饰成员变量和方法
  • private:成员变量和方法只能在其定义的类中访问,具有类的可见性。
  • 默认:成员变量和方法只能在同一个包里的类访问,具有包的可见性。
  • protected可以被同一个包里的类访问,被同一个项目中不同包中的子类访问。
  • public:可以被同一项目中的所有类访问,具有项目可见性,这是最大的访问权限。

this 关键字是对一个对象的默认引用,在每个实例方法的内部,都有一个this引用变量,指向调用这个方法的对象。




  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值