Q: | |
A: | With respect to multithreading, synchronization is the capability to control the access of multiple threads to shared resources. Without synchonization, it is possible for one thread to modify a shared variable while another thread is in the process of using or updating same shared variable. This usually leads to significant errors. |
Q: | |
A: | The thread could be implemented by using runnable interface or by inheriting from the Thread class. The former is more advantageous, 'cause when you are going for multiple inheritance..the only interface can help. |
Q: | |
A: | Interface Pass By Reference means the passing the address itself rather than passing the value. Pass By Value means passing a copy of the value to be passed. |
Q: | |
A: | Map is Interface and Hashmap is class that implements that. |
Q: | |
A: | The HashMap class is roughly equivalent to Hashtable, except that it is unsynchronized and permits nulls. (HashMap allows null values as key and value whereas Hashtable doesnt allow). HashMap does not guarantee that the order of the map will remain constant over time. HashMap is unsynchronized and Hashtable is synchronized. |
Q: | |
A: | Vector is synchronized whereas arraylist is not. |
Q: | |
A: | AWT are heavy-weight componenets. Swings are light-weight components. Hence swing works faster than AWT. |
Q: | |
A: | A constructor is a member function of a class that is used to create objects of that class. It has the same name as the class itself, has no return type, and is invoked using the new operator. A method is an ordinary member function of a class. It has its own name, a return type (which may be void), and is invoked using the dot operator. |
Q: | |
A: | Some of the collection classes provide traversal of their contents via a java.util.Iterator interface. This interface allows you to walk through a collection of objects, operating on each object in turn. Remember when using Iterators that they contain a snapshot of the collection at the time the Iterator was obtained; generally it is not advisable to modify the collection itself while traversing an Iterator. |
Q: | |
A: | Abstract class must be extended/subclassed (to be useful). It serves as a template. A class that is abstract may not be instantiated (ie, you may not call its constructor), abstract class may contain static data. Any class with an abstract method is automatically abstract itself, and must be declared as such. A class may be declared abstract even if it has no abstract methods. This prevents it from being instantiated. |
Q: | |
A: | Static means one per class, not one for each object no matter how many instance of a class might exist. This means that you can use them without creating an instance of a class.Static methods are implicitly final, because overriding is done based on the type of the object, and static methods are attached to a class, not an object. A static method in a superclass can be shadowed by another static method in a subclass, as long as the original method was not declared final. However, you can't override a static method with a nonstatic method. In other words, you can't change a static method into an instance method in a subclass. |
例子:
底下程式看起來像是可以用一般的override來看待,其實不然!
如果override的method是static,實際執行的method會是宣告型別的method而不是實際型別的method。
程式:
class Question30Super{
public static void printSomething(){
System.out.println("In Question30Super");
}
}
public class Question30 extends Question30Super {
public static void main(String[] args){
Question30Super q30 = new Question30();
q30.printSomething();
}
public static void printSomething(){
System.out.println("In Question30");
}
}
執行結果:
In Question30Super
Q: | |
A: | A final class can't be extended ie., final class may not be subclassed. A final method can't be overridden when its class is inherited. You can't change value of a final variable (is a constant). |
沒有留言:
張貼留言