面向对象(下)

6.3:类成员:又讲了一遍static修饰的类成员;   Singleten(单例)类: 通过封装的方式,实现了一个类只能创建一次,应该是为了更好编写代码,创造的一个概念。

6.4:final修饰符:抓住final的定义,final修饰的类,方法,变量不可改变。要记住的知识点:1.final修饰的成员变量必须由程序员显示地指定初始值;2.可执行“宏替换”的final变量;3.不可变类;4.缓存实例的不可变类

/*错误&&经验

*1.我写了两个构造器,外加一个final修饰地成员变量age,报错说我没对age赋初值,经检查我一个构造器对age赋了初值,另一个没有,本来我以为我没有调用那个没赋初值就没事,因此在这里我意识到构造器之间是互不关联的(除非有调用);

*2.疯狂Java讲义上说Java的8个包装类和java.lang.String类是不可变类,我便去定义了几个对象,发现还能改变,通过查文件,我认为变得不是原来的对象,在变的过程中它又生成了新的对象,让原来的引用变量指向了新对象,造成了对象的值改变的假象;

6.5:抽象类:个人认为抽象类和多态很搭 ; 抽象类体现的是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行拓张、改造,但子类总体上大致保留了抽象类的行为方式。简单地说我们创造出这概念,使得我们编程的面向对象跟接近现实生活中的面向对象。

6.6 接口:体现的是规范和实现分离地设计哲学。一定程度上与抽象类有着相同的目的,不过抽象类更多的是作为模板,而接口是作为规范,所以两者在本质上还是有所不同。接口需要注意的是它的四个方法:默认方法,类方法,私有方法,抽象方法。另一个要注意的点是向上转型的使用。这是我在看面向接口的编程中的命令行模式看到的,方法定义时传入的是接口变量,实际传入的是实现了接口的一个类的对象。

(学Java接口体会到了:编程不仅仅是把代码写出来,还要思考如何更好更方便的写出代码,以及如何更方便,成本更低地维护它。)

最新文章

  1. JS/JQ获取各种屏幕的高度和宽度
  2. win环境变量立即生效
  3. Canny Edge Detector
  4. 将maven工程转成dynamic web project
  5. Android自动化初探:ADB
  6. 基本套接字编程(3) -- select篇
  7. iOS——数据安全性问题小结
  8. CSS实现侧边栏固定宽度,内容栏自适应
  9. node.JS中配置http-server
  10. 解决IE兼容总汇【转】
  11. log4j配置文件,用时导入jar包buildPath且将配置文件改成log4j.properties即可
  12. python学习笔记 map&&reduce
  13. TCP的核心系列 — SACK和DSACK的实现(七)
  14. MATLA总结三
  15. 中期linux课程考试题
  16. 帆软发布大数据直连引擎FineDirect,对焦大数据BI
  17. Sublime Text 3 绿色汉化版 x64
  18. 【转】Java 有值类型吗?
  19. [Flutter] TextField 中只允许输入合法的小数
  20. 北美PM活着的攻略

热门文章

  1. 14.Linux-CentOS系统proc文件系统丢失
  2. Schematic - "DesignEntry 30 ERROR Instance referencing symbol is out of date"
  3. L5 Swagger 使用说明
  4. Python四种实现单例模式的方法
  5. Django【第27篇】:ModelForm
  6. 32.密码学知识-SSL/TLS-9——2019年12月19日
  7. Pymongodb
  8. POJ-3436-ACM Computer Factory(最大流, 输出路径)
  9. OC项目调用C++
  10. 靠!老师居然叫我们去写博弈论!!!结果写了一个晚上的博弈论,简直要死QAQ。。。发发博客休息一下。。。TAT。。。