Simple inheritance question

K

knocte

class A implements Cloneable {
[...]

public Object clone() {
[...]
}
}

class B extends A {
[...]
}



Does B need to implement Cloneable interface to be cloneable? Or it is
not necessary because B is subclass of A and inherits its interfaces?

Thanks in advance.
 
V

VisionSet

knocte said:
class A implements Cloneable {
[...]

public Object clone() {
[...]
}
}

class B extends A {
[...]
}



Does B need to implement Cloneable interface to be cloneable? Or it is
not necessary because B is subclass of A and inherits its interfaces?

subclasses inherit interfaces of superclass, so class B is Cloneable.
Obviously you must override clone().
 
D

Dave Neary

Hi,

knocte said:
class A implements Cloneable {
[...]

public Object clone() {
[...]
}
}

class B extends A {
[...]
}
Obviously you must override clone().

*must*? I don't think he must. Although

B b1 = new B();
B b2 = (B)b1.clone();

would (probably) give a ClassCastException, there is no obligation to
override clone().

Cheers,
Dave.
 
A

Adam Maass

Dave Neary said:
Hi,

knocte said:
class A implements Cloneable {
[...]

public Object clone() {
[...]
}
}

class B extends A {
[...]
}
Obviously you must override clone().

*must*? I don't think he must. Although

B b1 = new B();
B b2 = (B)b1.clone();

would (probably) give a ClassCastException, there is no obligation to
override clone().

Cheers,
Dave.

No, there would be no ClassCastException in this code if the clone() method
in A is coded correctly. Namely:

public Object clone(){ return super.clone(); }


Note that this does not use A's constructor; you get a B when executed in a
B.


-- Adam Maass
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,565
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top