今天是第六天。 1.接口和抽象类的区别 从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。 JAVA提供和支持创建抽象类和接口。它们的实现有共同点,不同点在于: 接口中所有的方法隐含都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。 类可以实现多个接口,而只能继承一个抽象类。 类可以不实现抽象类和接口声明的所有方法,当然这个类也必须是抽象类。 抽象类可以在不提供方法实现的情况下实现接口。 java接口中的申明的变量默认都是final的。抽象类可以包含非final的变量。 java接口中的成员函数默认是public。抽象类的成员函数可以 是private,protected或者是public。 接口绝对是抽象的,不可以被实例化。抽象类也不可以被实例化,但是,如果它包含main方法的话是可以被调用的。
2.用最有效率的方法算2乘以8 2<<3
3.JAVA集合框架是什么?说出一些集合框架的优点。 Java1.2提出了你、囊括所有集合接口、实现和算法的集合框架。 集合框架的部分优点如下: (1)使用核心集合类降低开发成本,而非实现我们自己的集合类。 (2)随着使用经过严格测试的集合框架类,代码的质量会得到提高。 (3)铜鼓使用JDK附带的集合类,可以降低代码维护成本。 (4)复用性和可操作性。
4.集合框架中的泛型有什么优点? JAVA1.5引进了泛型,所有的集合接口和实现都大量使用它,泛型允许我们为集合提供一个可以容纳的对象类型,如果放入一个不符的类型,就会在编译时报错,所以不会在运行时出现classcastexception。让代码更加简洁,不需要使用显示转换和instanceof操作符,也给运行带来了好处,因为代码在运行是不会出现类型检查的字节码指令。
5.JAVA集合框架的基础接口有哪些? Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。JAVA平台不提供这个接口的任何直接实现。 Set是一个不能包含重复元素的集合。 List是一个有序的集合,可以包含重复元素。你可以通过它的索引来访问任何的元素。List更像长度动态变换的数组。 Map是一个将key映射到value的对象,不能包含重复的key,每个key只能映射一个value。
6.为何collection不从cloneable和serialiable接口继承。 Collection接口指定一组对象,对象即为它的元素,如何维护这些collection元素由collection的具体实现决定。如List和Set。很多Collection有一个公有的colne方法。然而,把它放到集合的所有实现是没有意义的。这是因为Collection是一个抽象表现。重要的是实现。 当与具体实现打交道的时候,克隆或序列化的语义和含义才发挥作用。所以,具体实现应该决定如何对它进行克隆或序列化,或者它是否可以被克隆或者序列化。 在所有实现中授权克隆和序列化,最终导致更少的灵活性和更多的限制。特定的实现应该决定它是否可以被克隆和序列化。