一、java 接口和抽象类的区别是什么
1、接口中所有方法隐含的都是抽象的,而抽象类则可以同时包含抽象和非抽象方法。
2、类可以实现多个接口,但只能实现一个抽象类。
3、类如果要实现接口,它必须要实现接口声明中所有方法,但是类可以不实现抽象类的所有方法,当然这种情况下,类也必须声明为抽象类。
4、抽象类可以在不提供接口方法实现的情况下实现接口。
5、java接口中声明的变量都是final的,抽象类可以包括非final的变量。
6、java接口中成员函数默认是public的,抽象类成员函数可以private,protected,或者public。
7、接口是绝对抽象的,不可以被实例化,抽象类也不可以被实例化,但是如果他包含main方法的话可以被调用。
二、java接口可以被继承吗
可以被接口继承,但不能被类继承
三、java运算符中,那个运算符的优先级最高
小括号()和下表号[]
四、在Switch语句中能使用的数据类型包括那些。
byte,short,int,char
五、StringBuffer和StringBuilder类的区别
尽可能使用StringBuilder,因为它运行比StringBufffer快,如果强调线程安全的话使用StringBuilder。
六、关于final
1、final方法无法被覆盖(重写)。
2、final类无法被继承。
3、final变量不能被修改,并且final要么在构造方法初始化,要么在定义时初始化。
七、声明变量和定义变量有什么不同
声明变量只提供类型和名字,并没有进行初始化。定义包括初始话。
八、程序中可以允许多个类同时拥有main方法吗
可以,当程序运行时,我们会指定运行的类名。JVM只会在你指定的类中查找main方法。
九、一个类可以拥有多个main方法吗
可以,但只有一个main方法拥有以下签名:public static void main(String[] args)。