Java的一些小知识
Switch和If的区别:
Switch case成功后将不再向下继续执行,而If却要每个条件判断一遍。过于浪费;
Java中的多态:
- 方法重载: 通常是指在同一个类中,相同的方法名对应着不同的方法实现,这些方法名相同的方法其区别在于他们需要的参数不同。即采用不同的方法形参表,区分重载方法要求形参在数据类型、个数和顺序的不同。
- 方法重写:方法重写主要用于父类和子类间。子类重写父类的方法,只是对应的方法实现不同,其方法名和参数都相同。
- 抽象类:在java语言中,一个类中的方法只给出了标准,而没有给出具体的实现方法,这样的类就是抽象类。例如父类就是抽象类,它不会被实例化的类。
- 接口: 在多态机制中,接口比抽象类使用起来更加方便。而抽象类组成的集合就是接口。
继承和实现的区别:
继承:如果多个类的某个部分的功能相同,那么可以抽象出一个类出来,把他们的相同部分都放到父类里,让他们都继承这个类。
实现:如果多个类处理的目标是一样的,但是处理的方法方式不同,那么就定义一个接口,也就是一个标准,让他们的实现这个接口,各自实现自己具体的处理方法来处理那个目标
第一、联系
继承和接口都能实现代码重用,提高开发效率。提现了实物的传递性,继承关系达到复用的目的。
第二、区别
修饰不同
不同的修饰符修饰;实现: implement,继承:extends;
数量不同
Java只支持接口的多继承,不支持“继承”的多继承;而继承在java中具有单根性,子类只能继承一个父类。
总结为:单继承,多实现。
属性不同
在接口中只能定义全局常量(static final),和无实现的方法;而在继承中可以定义属性方法,变量,常量等…
调用不同
某个接口被类实现时,在类中一定要实现接口中的抽象方法;而继承想调用那个方法就调用那个方法,毫无压力
总结:
接口是:对功能的描述(方法/行为),接口传达的意思是:拥有某种功能,能干嘛,比如:Serializable代表可序列化的。
继承是:什么是一种什么, 继承传达的意思是:is-a,比如:猫 是一个 动物,猫就是动物的子类。
接口是用来实现的(implement),类是用来继承的(extends)
单继承性:Java允许一个类仅能继承一个其他类,即一个类只能有一个父类,这个限制被称为单继承性,而接口允许多继承,弥补了Java类只能单继承的缺陷。