1.1Java基础
面向对象的特征:继承、封装、多态和抽象:
(1)继承
对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始类的派生类(子类),原始类称为新类的基类(父类).派生类可以从它的父类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要.因此可以说,继承为了重用父类代码,同时为实现多态性作准备.
(2)封装
封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改
变它内部的数据。在 Java 当中,有 3 种修饰符: public, private 和 protected。每一种修饰符
给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。
使用封装的一些好处:
- 通过隐藏对象的属性来保护对象内部的状态。
- 提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展。
- 禁止对象之间的不良交互提高模块化
(3)多态
多态是指允许不同类的对象对同一消息做出响应.多态性包括参数化多态性和包含多态性.多态性语言具有灵活/抽象/行为共享/代码共享的优势,很好的解决了应用程序函数同名问题.总的来说,方法的重写,重载与动态链接构成多态性.java引入多态的概念原因之一就是弥补类的单继承带来的功能不足.
- 动态链接 :对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将调用子类中的这个方法,这就是动态链接.
(4)抽象
抽象是把想法从具体的实例中分离出来的步骤,因此,要根据他们的功能而不是实现细节来创建类。 Java 支持创建只暴漏接口而不包含方法实现的抽象的类。这种抽象技术的主要目的是把类的行为和实现细节分离开。
抽象包括两个方面,一个数据抽象,而是过程抽象.
- 数据抽象 : 表示世界中一类事物的特征,就是对象的属性.比如鸟有翅膀,羽毛等(类的属性)
- 过程抽象 :表示世界中一类事物的行为,就是对象的行为.比如鸟会飞,会叫(类的方法)
注意继承与重载:子类与父类的关系,重载方法的调用问题
一个类中如果定义了重载的方法,则系统在调用方法时,会根据参数的类型自动选择调用合适的方法
final, finally, finalize 的区别
Exception、Error、运行时异常与一般异常有何异同
请写出5种常见到的runtime exception
-
NullPointerException:当操作一个空引用时会出现此错误。
-
NumberFormatException:数据格式转换出现问题时出现此异常。
-
ClassCastException:强制类型转换类型不匹配时出现此异常。
Object x = new Integer(0);
System.out.println((String)x); -
ArrayIndexOutOfBoundsException:数组下标越界,当使用一个不存在的数组下标时出现此异常。
-
ArithmeticException:数学运行错误时出现此异常
IndexOutOfBoundsException(下标越界异常)
NullPointerException(空指针异常)
NumberFormatException (String转换为指定的数字类型异常)
ArithmeticException -(算术运算异常 如除数为0)
ArrayStoreException - (向数组中存放与声明类型不兼容对象异常)
SecurityException -(安全异常)
int 和 Integer 有什么区别,Integer的值缓存范围
关于Integer的缓存范围(-128~127)所引起的一系列问题记录
包装类,装箱和拆箱
包装类,装箱和拆箱
Java5引入的特性,自动装箱自动拆箱
String、StringBuilder、StringBuffer
探秘java中的String、StringBuilder、StringBuffer