21.写clone()方法时,通常都有一行代码,是什么?
clone()有缺省行为,super.clone();因为首先要把父类中的成员复制到位,然后才是复制自己的成员。
22.面向对象的特征有哪些?
面嫌对象的三大特征:封装,继承,多态
封装:使用访问控制符可以将对象中不允许外部程序直接访问的重要属性,隐藏在对象内部;
继承:基类继承父类,将获得父类的属性和方法,子类也可以定义自己的属性和方法;
多态:对象的多态:向上转型:子类转父类
向下转型:父类转子类
方法的重载与重写:静态多态(编译时多态):方法重载
动态多态(运行时多态):方法重写
23.java中实现多态的机制是什么?
父类或接口定义的引用变量指向子类或具体实现类的实例对象
24.abstract class和interface有什么区别?
含有abstract修饰符的class即为抽象类,abstract类不能创建实例对象。接口(interface)可以说是抽象类的一种特例,接口中的所有方法都必须是抽象的。
25.abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
不可以,抽象的方法是要被子类实现的,native方法表示该方法要用另外一种依赖平台的编程语言实现,不存在被子类实现的问题。
26.什么是内部类?Static Nested Class和Inner Class的不同?
内部类就是在一个类的内部定义的类,内部类中不能定义静态成员,可以直接访问外部类中的成员变量,可以定义在外部类的方法外面和方法体中。
Inner class(内部类)定义在类中的类,Nested class(嵌套类)是静态(static)内部类。
27.内部类可以引用它的包含类的成员吗?有没有什么限制?
完全可以,除了静态内部类,如果把静态嵌套类当作内部类的一种特例,则不可以访问外部类的普通成员变量,只能访问外部类中的静态成员。
30.String是最基本的数据类型吗?
基本数据类型包括byte,int,short,long,boolean,double,char,float
32、是否可以继承String类?
String类是final类故不可以继承。34、String 和StringBuffer的区别
都是用来储存和操作字符串的,String类的值不可变,StringBuffer类的值可以改变。String覆盖了equals方法和hashCode方法,而StringBuffer没有覆盖。
35.如何把一段逗号分割的字符串转换成一个数组?
正则表达式