20155331 2016-2017-2 《Java程序设计》
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”);)。