面向对象设计的过程就是抽象的过程

步骤:

第一步:发现类

第二步:发现类的属性

第三步:发现类的方法

抽象是遵循的原则

属性和方法的设置是为了解决业务问题

关注主要属性和方法

如果没有必要,不增加额外的类、属性、方法

构造方法及其重载

Java可以和C#一样使用带参或者无参的构造方法(Constructor)完成赋值的初始化工作,系统会默认给定无参构造函数

构造方法

构造方法的名称和类名相同,没有返回值类型,构造方法的主要工作就是在创建对象时执行一些初始化操作

方法重载

方法重载就是多个方法的方法名相同,方法参数的个数不同或者参数数值类型不同。

Static修饰符

Static修饰的变量属于这个类所有,由这个类创建的所有对象共同一个static变量。通常被static修饰的成员成为类变量和类方法。不使用static修饰的成员属于的单个对象,通常称为实力属性(实例变量)和实例方法

结论

在加载类的过程中,完成静态变量的内存分配,在执行静态块,两者是在才黄建对象之前执行的

类属性和类方法可以通过类名和对象名访问,实例属性和实例方法只能通过对象名访问

类方法只能访问类属性和其他类方法

在方法里不可以定义static变量,也就是类变量不能是局部变量

封装

概念

封装是面向对象的三大特征之一,隐藏类内部的状态信息,通过该类提供的方法来实现对隐藏信息的访问和操作

封装的具体步骤

修改属性的可见性来限制属性的访问,为每个属性创建一个赋值(setter)方法和取值(getter)方法。

封装的优点

隐藏类实现细节

只让使用者通过程序规定的方法来访问数据

可以限制不合理操作和方便加入存取控制语句

This关键字

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

作用

使用this调用成员变量,解决成员变量和局部变量的同名冲突

使用this调用成员方法

使用this调用个重载的构造方法。只能在构造方法中使用,必须是构造方法的第一条语句。不能在多个构造函数中使,不然会发生递归现象

最新文章

  1. JavaScript:彻底理解同步、异步和事件循环(Event Loop) (转)
  2. [转]从网页Web上调用本地应用程序(.jar、.exe)的主流处理方法
  3. [改善Java代码]覆写equals方法时不要识别不出自己
  4. WCF 托管在IIS中遇到Http的错误
  5. 五种I/O 模式——阻塞(默认IO模式),非阻塞(常用语管道),I/O多路复用(IO多路复用的应用场景),信号I/O,异步I/O
  6. Oracle 日期计算
  7. 西门子PLC学习笔记二-(工作记录)
  8. ios开发设置不同字体
  9. Linux 线程调度与优先级设置
  10. 框架应用 : Spring MVC - 开发详述
  11. webpack4.x笔记-配置基本的前端开发环境(一)
  12. 寄存器(cpu工作原理)(一)
  13. Python的hasattr(),getattr(),setattr()
  14. DIOCP-V5发布
  15. react ES5 与ES6的写法
  16. tf.matmul函数和tf.multiply函数
  17. &&和;和||符号的意思
  18. 2018-2019-2 网络对抗技术 20165332 Exp1 PC平台逆向破解
  19. Python2获取网页标题
  20. 由上一个血案引发的关于property和attribute关系的思考

热门文章

  1. cocos2dx 在Xcode里面 resource 里面文件夹的搜索
  2. JavaScript--我发现!原来你是这样的JS(1)
  3. Python常用库大全
  4. 基于FPGA的Sobel边缘检测的实现
  5. Maven 中央仓库及阿里云仓库地址
  6. 使用spring框架处理编码问题
  7. group by 多字段分组
  8. kickstart部署及使用
  9. Java8-初识Lambda
  10. 【1414软工助教】团队作业8——第二次项目冲刺(Beta阶段) 得分榜