Java面试题(01)
一、Java基础
1、简述你所知道的JAVA修饰符及各自的使用机制? (public、abstract、final、synchronize、supper.... )
01、public:公共的,允许所有客户访问。
02、protected:只能在本包内被该类的子类所使用。
03、private:私有的,只能在本类使用。
04、abstract:抽象类,没有提供实现,需要子类提供。修饰的类即为抽象类,不能被实例化。
05、static:static修饰的变量叫静态变量,可以用来修饰成员变量、成员方法,除此之外,还可以修饰程序中的代码块,称之为静态代码块。仅在类加载时执行一次
06、final:你只能定义一个实体一次,以后不能改变它或继承它。一个final修饰的类不能被子类化,一个final修饰的方法不能被重写,一个final修饰的变量不能改变其初始值 。
07、synchronized:方法获得对对象监控的访问权;如果该方法是static类型的,获得是对类本身的访问权。
08、super:构造器和方法,都用关键字super指向超类,但是用的方法不一样。方法用这个关键字去执行被重载的超类中的方法。
2、String、StringBuffer与StringBuilder之间区别?别简述各自的执行效率?
区别:String 类型和StringBuffer类型的主要性能区别其实在于String是不可变的对象,
因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的S