20155331 2016-2017-2 《Java程序设计》

教材学习内容总结

理解封装,继承和多态。

封装最简单的理解就是包装,把编译的class文件封装起来,便于管理,还可以设置密码。

继承是一种关系,比如说你爸和你爷还有你,如果你爷有家产的化,当时是继承给你爸,等到了你爸这里有什么好东西自然也就继承给你了。在JAVA里也是一样的,继承通常用extends来继承。

多态有两种,一重载是“同名不同参”二重写是“子类和父类有完全一样的方法,子类对象调用子类重写的方法”。
接口说白一点就是更方便编程,假如在子类和父类中!!
父类定义的是人类,子类1定义为教师类,子类2定义为学生类,教师有工资,学生却没有,这样就利用到了接口,定义一个接口连接教师类,这样教师就拥有了工资,而学生就没有。

理解抽象类和接口的区别。

Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部分实现,而Java接口不可以,
如果向一个抽象类里加入一个新的具体方法时,那么它所有的子类都一下子都得到了这个新方法,
而Java接口做不到这一点,如果向一个Java接口里加入一个新方法,所有实现这个接口的类就无法成功通过编译了,
因为你必须让每一个类都再实现这个方法才行,这显然是Java接口的缺点。

总而言之,接口与抽象类的区别主要在于使用的动机,而不在于其本身。而一个东西该定义成抽象类还是接口,要根据具体环境的上下文决定。再者,接口和抽象类的另一个区别在于,抽象类和它的子类之间应该是一般和特殊的关系,而接口仅仅是它的子类应该实现的一组规则。(当然,有时也可能存在一般与特殊的关系,但我们使用接口的目的不在这里)如,交通工具定义成抽象类,汽车、飞机、轮船定义成子类,是可以接受的,因为汽车、飞机、轮船都是一种特殊的交通工具。再譬如Icomparable接口,它只是说,实现这个接口的类必须要可以进行比较,这是一条规则。如果Car这个类实现了Icomparable,只是说,我们的Car中有一个方法可以对两个Car的实例进行比较,可能是比哪辆车更贵,也可能比哪辆车更大,这都无所谓,但我们不能说“汽车是一种特殊的可以比较”,这在文法上都不通。

教材学习中的问题和解决过程

封装、继承、多态他们的作用和好处?

继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确描述共性的方法,对象的一个新类可以从现有的类中的派出,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。
面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

上周考试错题总结

Linux Bash中,(grep)命令可以进行全文搜索。

~0b1010的十进制是(-11)

Java中类总会有默认构造结构。(×)

java中的多维数组都是由(一堆数组)组成。

Java中方法内可以定义类。(√)

Java中方法参数只用(传值)调用。

System.out.println(""+52+52);的结果是(5225)。

两个integer对象比较大小,可以使用(comareTo())方法。

“30”转化为byte类型的30的语句是(Byte.parseByte(“30”);)。

最新文章

  1. 如何让ASP.NET Web API的Action方法在希望的Culture下执行
  2. insert、update select from
  3. webservice入门(2)开发ws程序
  4. FireBug调试工具笔记
  5. 读书笔记-String
  6. 交叉编译alsa声卡驱动
  7. brute-force search
  8. MATLAB light material lighting
  9. Xdebug的使用
  10. 树莓PI交叉编译BOOST库(asio网络例子)
  11. percent-encode 百分号编码
  12. WP e-Commerce WordPress Payment Gateways Caller插件本地文件包含漏洞
  13. Ubuntu12.4 64位 安装 arm linux gcc 4.3.2
  14. KeybMap 键盘映射工具更新至 V1.5(修订)
  15. 切图教程,APP切图实例
  16. JavaScriptCore.framework基本用法(二)
  17. (转载)java基础:关于java流与文件操作
  18. AutoCAD常用操作命令
  19. c# Lamdba及DataTable AsEnumerable()的使用
  20. 请输入一个大于7的整数,输出小于k并且至少满足下面2个条件中的1个条件的所有正整数

热门文章

  1. python取当前时间前后一定间隔的时间点
  2. IOS .a静态库的和.framework制作
  3. vue 项目搭建笔记1
  4. 如何高效的写出markdown笔记
  5. [19/04/13-星期六] 网络编程_基本概念(关注传输层、数据传输,TCP和UDP)
  6. 在 S5PV210 的 开发板上 点亮 一个 LED 灯
  7. STM32F103 ucLinux开发之三(内核启动后不正常)(完结)
  8. java String详解
  9. Objective-C 方法交换实践(三) - Aspects 源码解析
  10. c#网络加密传输