本帖最后由 陈兆辉 于 2014-9-25 11:55 编辑
1. float型float f=3.4是否正确?
答:不正确,应为float f=3.4f
2. String s = new String(“xyz“);创建了几个String Object?
答:创建了两个,一个字符对象,一个引用对象
3. 构造器Constructor是否可被override?
答:不可以。
4. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
答:不可以。synchronized 方法都必须获得调用该方法的类实例的锁方能执行,否则所属线程阻塞,方法一旦执行,就独占该锁,直到从该方法返回时才将锁释放,此后被阻塞的线程才能获得该锁,重新进入可执行状态。
5. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
答:是引用传递。
6. Overload和Override的区别
答:方法的覆盖(Overriding)和重载(Overloading)是Java多态性的不同表现。覆盖(Overriding)是父类与子类之间多态性的一种表现,重载(Overloading)是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被覆盖 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法可以改变返回值的类型。
7. 请说出你所知道的线程同步的方法
答:1. synchronized 方法:通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。
2. synchronized 块:通过 synchronized关键字来声明synchronized 块。
8. Java类实现序例化的方法是?
答:Java类要实现序列化,对应的类必须先实现Serializable和Externalizable这两种接口,然后就可以调用ObjectOutputStream的witeObject()方法来保存对象以及通过ObjeatInputStream的readObjeact()方法来读取保存的对象。 |