1、名词解释:
抽象:
抽象就是找出一些事物的相似和共性之处,然后将这些事物归为一个类,这个类只考虑这些事物的相似和共性之处,忽略与当前主题和目标无关的方面。
封装:
封装就是将类的属性包装起来,不让外界知道其内部实现,只提供对外的接口,好处可以增强模块的独立性。
继承:
继承是子类自动共享父类数据和方法的机制,这是类之间的一种关系,提高了软件的可重用性和可扩展性。
多态:
多态是指同一个方法通过方法的重载实现不同的逻辑。
2、java中访问修饰符:public、protected、private和不写修饰符时的作用域区别?
作用域 当前类 同一package 子孙类 其他package 使用对象
public √ √ √ √ 类、接口、成员变量、方法
protected √ √ √ × 成员变量、方法
friendly √ √ × × 类、方法、成员变量
private √ × × × 成员变量、方法
不写时默认为friendly
3、java中String和StringBuffer区别?
String:
是对象不是原始类型.
为不可变对象,一旦被创建,就不能修改它的值.
对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.
StringBuffer:
是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象
它只能通过构造函数来建立,
StringBuffer sb =newStringBuffer();
不能通过付值符号对他进行付值.
对象被建立以后,在内存中就会分配内存空间,并初始保存一个null.
向StringBuffer中付值的时候可以通过它的append方法.sb.append("hello");
综上,字符串连接操作中StringBuffer的效率要比String高。
4、java中如何跳出多重循环?
定义标签,然后在循环中break 标签:
inner:
for(inti=0;i<5;i++)
{
for(intj=0;j<5;j++)
{
breakinner;
}
}
循环前加个标记,break这个标记即可,标记名称可任意取。
5、char型变量中能不能存贮一个中文汉字?为什么?
java中char型变量采用的unicode编码,有两个字节。一个汉字也是用两个字节表示,所以说是可以存储的。