抽象类:
1、抽象类特性:
1)、抽象方法所在的类一定是抽象类,抽象类里面不一定有抽象方法
2)、抽象类必须被继承,抽象方法必须被重写
3)、抽象方法只需要声明不需要实现
4)、抽象类不能被实例化
5)、static、final修饰的方法、构造方法不能声明为抽象
6)、当设计类时,父类一般作为抽象类。
2、接口特性:
1)、一个类可以实现多个无关的接口
2)、多个无关的类可以实现同一个接口
3)、接口可以被继承,但是只能继承接口,可以添加新的属性及方法
4)、接口的变量默认是public static final
5)、接口的方法默认是public abstract
6)、子类继承父类之后继承父类的所有成员,包括父类所实现的接口
7)、接口与接口实现类之间存在多态性
8)、类实现接口时使用implements关键字,需要实现接口以及接口父类中所有的抽象方法
9)、接口可以多继承
抽象类和接口的区别:
构造方法上:
抽象类对构造方法没有限制,接口没有构造方法
方法上:
抽象类对方法没有限制,接口里面的方法必须是public abstract
属性:
抽象类对属性没有限制,接口里的属性必须是public static final
抽象类可以看成不完整的类,需要多扩展
接口可以一个功能块
抽象类与接口的使用【有一个抽象方法work】:
1、当需要有父类、子类的关系时才使用抽象类,其他时候一般使用接口
2、接口与实现类之间存在多态性,可以实现子类与父类之间的多种特性
3、一个类可以实现多个无关接口,不用占用父类位置
如果没有特殊要求,一般都会使用接口
内存解析(值传递与引用类型传递的区别)
值传递:传递是值,这个值改变不会影响之前变量的值
引用类型传递:传递是引用类型的堆内存地址,一旦使用这个地址改变其中的参数值,原变量再访问该地址时也会发生改变
常用类String、Stringbuffer
String 与 Stringbuffer的区别
区别: String:不可变字符序列
StringBuffer:可变字符序列
什么是抽象类
使用abstract关键字修饰的类就是抽象类
抽象类的特点
接口有什么用
一些没有太大关联性的功能块一般用接口实现
接口的有什么特点
抽象类与接口有什么异同
异常的分类
1、错误
2、异常
3、运行时异常
自定义异常
继承系统的异常类,来自定义异常
作用:可以在一些系统不识别的位置抛出自定义异常,中断程序【例如:人数录入,支付系统】
集合/容器的作用
存储对象
set、list集合的区别
set:无序,不可重复
list:有序,可重复
LinkedList和ArrayList 的区别
LinkedList:底层存储以链表形式存储,增删快
ArrayList:底层存储以数组形式存储,查询快
集合的添加数据、删除数据
add,
remove(Object)
遍历集合
迭代器 -hasNext(),next(),remove();
Map遍历
Map的存储特点、
以键-值 对 形式存储
key不能重复,value可以重复
集合的排序
Collections.sort(list);
1、抽象类特性:
1)、抽象方法所在的类一定是抽象类,抽象类里面不一定有抽象方法
2)、抽象类必须被继承,抽象方法必须被重写
3)、抽象方法只需要声明不需要实现
4)、抽象类不能被实例化
5)、static、final修饰的方法、构造方法不能声明为抽象
6)、当设计类时,父类一般作为抽象类。
2、接口特性:
1)、一个类可以实现多个无关的接口
2)、多个无关的类可以实现同一个接口
3)、接口可以被继承,但是只能继承接口,可以添加新的属性及方法
4)、接口的变量默认是public static final
5)、接口的方法默认是public abstract
6)、子类继承父类之后继承父类的所有成员,包括父类所实现的接口
7)、接口与接口实现类之间存在多态性
8)、类实现接口时使用implements关键字,需要实现接口以及接口父类中所有的抽象方法
9)、接口可以多继承
抽象类和接口的区别:
构造方法上:
抽象类对构造方法没有限制,接口没有构造方法
方法上:
抽象类对方法没有限制,接口里面的方法必须是public abstract
属性:
抽象类对属性没有限制,接口里的属性必须是public static final
抽象类可以看成不完整的类,需要多扩展
接口可以一个功能块
抽象类与接口的使用【有一个抽象方法work】:
1、当需要有父类、子类的关系时才使用抽象类,其他时候一般使用接口
2、接口与实现类之间存在多态性,可以实现子类与父类之间的多种特性
3、一个类可以实现多个无关接口,不用占用父类位置
如果没有特殊要求,一般都会使用接口
内存解析(值传递与引用类型传递的区别)
值传递:传递是值,这个值改变不会影响之前变量的值
引用类型传递:传递是引用类型的堆内存地址,一旦使用这个地址改变其中的参数值,原变量再访问该地址时也会发生改变
常用类String、Stringbuffer
String 与 Stringbuffer的区别
区别: String:不可变字符序列
StringBuffer:可变字符序列
什么是抽象类
使用abstract关键字修饰的类就是抽象类
抽象类的特点
接口有什么用
一些没有太大关联性的功能块一般用接口实现
接口的有什么特点
抽象类与接口有什么异同
异常的分类
1、错误
2、异常
3、运行时异常
自定义异常
继承系统的异常类,来自定义异常
作用:可以在一些系统不识别的位置抛出自定义异常,中断程序【例如:人数录入,支付系统】
集合/容器的作用
存储对象
set、list集合的区别
set:无序,不可重复
list:有序,可重复
LinkedList和ArrayList 的区别
LinkedList:底层存储以链表形式存储,增删快
ArrayList:底层存储以数组形式存储,查询快
集合的添加数据、删除数据
add,
remove(Object)
遍历集合
迭代器 -hasNext(),next(),remove();
Map遍历
Map的存储特点、
以键-值 对 形式存储
key不能重复,value可以重复
集合的排序
Collections.sort(list);