31. 什么是抽象类?抽象类的特点和好处是什么?
相同的方法,有相同方法的声明,但是方法体不一样,只抽取方法声明的方法,叫做抽象方法,有抽象方法的类,叫做抽象类
特点:
A:类或者方法必须用abstract修饰
B:具体类在继承抽象类的时候,要么本身也是抽象类,要么实现抽象类中的所有抽象方法
C:抽象类不能被实例化。要想使用,必须按照多态的方式使用
D:成员特点:
a:成员变量
可以是变量,也可以是常量。
b:构造方法
有构造方法,但是不能实例化。
用于子类访问父类数据的初始化。
c:成员方法
可以有抽象方法也可以有非抽象方法。
好处:
A:限定子类必须实现某些功能。
B:提高代码的复用性。
32. 抽象类不能实例化,构造方法有什么用。
用于子类访问父类数据的初始化。
33. 抽象类没有抽象方法,有什么意义?
限制创建对象。
34. abstract不能和哪些关键字共存?
final: 冲突
private: 冲突
static: 无意义
35. 什么是接口? 接口的特点?
如果一个抽象类中的方法全部是抽象方法,那么java就针对这种类型的抽象类,给出了一个更抽象的表达式:接口
特点:
A:所有的方法,都是抽象方法
B:类实现接口
要么本身是抽象类,要么重写接口中的抽象方法
C:接口不能被实例化,要想使用,用多态
D:成员特点
a : 成员变量
只有常量,并且是静态常量。默认修饰符:public static final
b : 构造方法
没有构造方法,子类数据的初始化默认走的是Ojbect类的构造方法
c : 成员方法
全部是抽象的,有默认修饰符:public abstract
36. 抽象类和接口的区别?
A:成员区别
抽象类:
成员变量 : 可以是变量,也可以是常量
构造方法 : 有
成员方法 : 有,可以是抽象的,也可以是非抽象的
接口:
成员变量 : 只能是常量。默认修饰符:publci static final
构造方法 : 没有,子类数据的初始化默认走的是Ojbect类的构造方法
成员方法 : 只能是抽象的,默认修饰符是:public abstract
B:类与接口的关系区别
类与类:
继承关系,单继承
类与接口:
实现关系,单实现、多实现
接口与接口:
继承关系,单继承、多继承
C:设计理念的区别
抽象类被继承体现的是:
is a的关系。抽象类中一般定义的是整个继承结构的共性功能
接口被实现体现的是:
like a的关系。接口中一般定义的是整个继承结构的扩展功能
37. 什么是内部类?有什么特点?
把类定义在其他类的内部,就被称为内部类
内部类的访问特点:
A:内部类可以直接访问外部类的成员,包括私有
B:外部类要访问内部类的成员,必须创建对象
38. 为什么内部类访问局部变量必须加final修饰?
A : 防止在使用后数据发生改变
B : 延长变量的生命周期
39. 什么是匿名内部类?本质是什么?
匿名内部类就是没有名字的内部类
格式:
new 类名或者接口名() {
重写方法;
};
本质:是继承类或者实现接口的子类匿名对象
40. ==和equals()的区别?
A : ==
a : 基本类型 比较的是基本类型的值
b : 引用类型 比较的是引用类型的地址值
B : equals()
只能比较引用类型
默认比较地址值
41. 什么是字符串?字符串的特点是什么?
字符串:
由多个字符组成的一串数据
特点:
一旦被赋值就不能被改变
注意:
这里指的是字符串的内容不能发生改变。而字符串的引用是可以再次赋值的
42. String s1 = new String("hello");和String s2 = "hello";的区别?
有区别
区别是:前者创建了两个对象,后者创建了一个对象
43. String、StringBuffer、StringBuilder的区别?
String:字符长度是固定的,StringBuffer/StringBuilder:字符长度是可变的
StringBuffer : 安全的,但效率较低一些
StringBuilder : 不安全的,但效率较高一些
StringBuffer和StringBuilder兼容
44. 什么是基本数据包装类?
为了对基本类型的数据进行更多的操作的,java就针对每种基本类型的数据提供了对应的包装类类型
对应的类型
byte Byte short Short
int Integer long Long
float Float double Double
char Character boolean Boolean
45. 什么是正则表达式?
正则表达式就是符合一定规则的字符串
|
|