1.java 垃圾回收机制:当不存在对一个对象的引用时,回收所占用的单元,由System.gc()来回收,一般要将这个对象的引用设置为null 为佳。
2.java 不可多继承,但是可以通过实现多个接口的方式同样达到目的。
3 面向对象的特点:封装,继承,多态,抽象。
4 Character 是单个字符操作
String 是final类,不可继承,不可改变类
StringBuffer 是 可变类
在程序中如果对字符串进行频繁连接修改的操作的话,StringBuffer的效率会比String的高很多。因为String在连接操作的时候其实需要创建StringBuffer 然后采用 append(),最后 toString来执行,浪费一个指令。
5 对象的创建是我们程序分配的,在堆(heap)上分配的,但对象的销毁是java 的GC垃圾回收机制回收的。java 的gc需要监控对象的申请,引用等等。这个对象的释放的根本原则就是,这个对象不在被引用。
Vector v=new Vector(10);
for (int i=1;i<100; i++)
{
Object o=new Object();
v.add(o);
o=null;
}
个人理解:Object 的引用o是局部变量,在外部也不能被使用,应该由gc释放,但v对对象o还有引用,无法释放object对象o,造成内存泄露。
6 java 有几种修饰符?默认的是什么?
答:(注:修饰符是影响类、变量及成员方法的生存空间和可访问性的关键字)
修饰符 类 成员方法 成员变量 局部变量
abstract √ √ - -
static - √ √ -
public √ √ √ -
protected - √ √ -
private - √ √ -
private protected - √ √ -
synchronized - √ - -
native - √ - -
volatile - - √ -
final √ √ √ -
transient - - √ √
以下是访问控制修饰符: 默认为friendly
修饰符 同类 同包 子孙类 不同包
public √ √ √ √
protected √ √ √ -
friendly √ √ - -
private √ - - -
7 Object 是其他类的超类。有toString()的方法,所以任何对象都可以toString()
8 接口与抽象类:
① 在类继承抽象类时,只需实现部分具体方法和全部抽象方法,而实现接口则要实现里面的全部方法。
②在接口中无成员变量,而抽象类中可有成员变量。
9 实现同步的方法是:1.synchronized 2.wait notify
实现多线程的方法是: 类 Thread 接口 Runnable
10 String s = new String("xyz");创建了几个String Object
两个,一个字符对象,一个字符对象引用对象
11 overload 重载 override重写 是java中多态性的表现 如果子类中定义某方法与其父类中有相同的方法和参数。那么方法称为被重写。
如果在一个类中定义了多个同名的方法,有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。
12 float型float f=3.4是否正确?
答:不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4
13 待续..
浙公网安备 33010602011771号