1.作用域:
当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不写时默认friendly;
2. 匿名内部类是否可以继承其它类,是否可以实现接口?
匿名的内部类是没有名字的内部类,不能继承其它类,但一个内部类可以作为一个接口,由另一个内部类实现;
3.&与&&的区别
&是位与运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与;
4.Collection和Collections的区别
Collection 是集合类的上级接口,继承与它的接口主要有Set和List
Collections是针对集合类的一个帮助类,它提供一系列的静态方法实现对各种集合的搜索,排序,线程安全化等操作。
5.override和overload的区别
方法的重写和重载是java多态性的不同表现,重写是父类和子类之间多态性的一种表现,重载是一个类中多态性的一种表现,如果子类定义的某个方法与父类具有相同的名称
和参数,我们说该方法被重写,子类的对象使用这个方法时,将调用子类中的定义,如果在一个类中定义了多个同名的方法,他们或有不同的参数或有不同的参数类型,则称为
方法的重载,overload方法可以改变返回值的类型。
6.Set元素是不能重复的,那么用什么方法来区分重复与否呢,使用==还是equals()?他们有何区别?
Set元素是不能重复的,那么用iterator()方法来区分重复与否,equals()方法是判断两个set是否相等,
equals方法用于检测一个对象是否等于另一个对象,在Object类中,这个方法将判断两个对象是否具有相同的引用;
==用于比较引用和比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
7.常见的运行时异常
NullPointerException 空指针错误
IndexOutOfBoundsException 下标越界
ClassCastException ClassCastException是JVM在检测到两个类型间转换不兼容时引发的运行时异常
IllegalStatamentException
当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不写时默认friendly;
2. 匿名内部类是否可以继承其它类,是否可以实现接口?
匿名的内部类是没有名字的内部类,不能继承其它类,但一个内部类可以作为一个接口,由另一个内部类实现;
3.&与&&的区别
&是位与运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与;
4.Collection和Collections的区别
Collection 是集合类的上级接口,继承与它的接口主要有Set和List
Collections是针对集合类的一个帮助类,它提供一系列的静态方法实现对各种集合的搜索,排序,线程安全化等操作。
5.override和overload的区别
方法的重写和重载是java多态性的不同表现,重写是父类和子类之间多态性的一种表现,重载是一个类中多态性的一种表现,如果子类定义的某个方法与父类具有相同的名称
和参数,我们说该方法被重写,子类的对象使用这个方法时,将调用子类中的定义,如果在一个类中定义了多个同名的方法,他们或有不同的参数或有不同的参数类型,则称为
方法的重载,overload方法可以改变返回值的类型。
6.Set元素是不能重复的,那么用什么方法来区分重复与否呢,使用==还是equals()?他们有何区别?
Set元素是不能重复的,那么用iterator()方法来区分重复与否,equals()方法是判断两个set是否相等,
equals方法用于检测一个对象是否等于另一个对象,在Object类中,这个方法将判断两个对象是否具有相同的引用;
==用于比较引用和比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
7.常见的运行时异常
NullPointerException 空指针错误
IndexOutOfBoundsException 下标越界
ClassCastException ClassCastException是JVM在检测到两个类型间转换不兼容时引发的运行时异常
IllegalStatamentException
EmptyStackException 堆栈为空
8.抽象类和接口有什么区别:
声明方法的存在而不去实现它的类叫做抽象类,它用于要创建一个体现某些基本行为的类,
并为该类声明方法,但不能在该类中实现该类的情况,不能创建抽象类的实例,然而可以
创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造
函数或抽象静态方法。抽象类的子类为他们父类中的所有抽象方法提供实现。
接口是抽象类的实体,在接口中,所有方法都是抽象的,多继承性可以通过实现这样的接口而获得。
接口只可以定义 static final 成员变量。instanceof 运算符可以用来决定某对象的类是否实现了接口 。
最大的区别是抽象类中的方法可以有具体的实现,而接口不可以。接口是公开的,里面不能有私有的
方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的。