②弊端: 不能使用子类的特有成员
抽象类: 当我们在做子类共性功能抽取时,有些方法在父类中并没有具体的体现,这个时候就需要抽象类了!
接口: 接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用. Java中的接口更多的体现在对行为的抽象!
接口的特点: ①接口用关键字interface修饰: public interface 接口名 {}
②类实现接口用implements表示: public class 类名 implements 接口名 {}
③接口不能实例化: 接口如何实例化呢?参照多态的方式,通过实现类对象实例化,这叫接口多态。
④接口的子类: 要么重写接口中的所有抽象方法要么子类也是抽象类
类名作为形参和返回值: ①类名作为方法的形参: 方法的形参是类名,其实需要的是该类的对象实际传递的是该对象的【地址值】
②类名作为方法的返回值: 方法的返回值是类名,其实返回的是该类的对象实际传递的,也是该对象的【地址值】
基本类型包装类: ①基本类型包装类的作用: 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据
②基本类型对应的包装类
Date类:代表了一个特定的时间,精确到毫秒 示例代码如下:
public class DateDemo01 { public static void main(String[] args) { //public Date():分配一个 Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒 Date d1 = new Date(); System.out.println(d1); //public Date(long date):分配一个 Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数 long date = 1000*60*60; Date d2 = new Date(date); System.out.println(d2); }}
SimpleDateFormat类: SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。
SimpleDateFormat类的常用方法: 格式化(从Date到String): public final String format(Date date):将日期格式化成日期/时间字符串
解析(从String到Date) : public Date parse(String source):从给定字符串的开始解析文本以生成日期
Calendar类: Calendar 为特定瞬间与一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法
Set集合: ①元素存取无序 ②没有索引、只能通过迭代器或增强for循环遍历 ③不能存储重复元素
哈希值: 是JDK根据对象的地址或者字符串或者数字算出来的int类型的数值
如何获取哈希值: Object类中的public int hashCode():返回对象的哈希码值
HashSet特点: ①底层数据结构是哈希表 ② 对集合的迭代顺序不作任何保证,也就是说不保证存储和取出的元素顺序一致
③ 没有带索引的方法,所以不能使用普通for循环遍历 ④由于是Set集合,所以是不包含重复元素的集合
LinkedHashSet特点: ①哈希表和链表实现的Set接口,具有可预测的迭代次序 ②由链表保证元素有序,也就是说元素的存储和取出顺序是一致的
③由哈希表保证元素唯一,也就是说没有重复的元素
泛型概述: 是JDK5中引入的特性,它提供了编译时类型安全检测机制,该机制允许在编译时检测到非法的类型它的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.
可变参数: 可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的了
可变参数定义格式: 修饰符 返回值类型 方法名(数据类型… 变量名) { }
可变参数的注意事项: ① 这里的变量其实是一个数组 ②如果一个方法有多个参数,包含可变参数,可变参数要放在最后