Re: Class ... implements ...
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Eric Sosman <esosman@ieee-dot-org.invalid> writes:
On 4/2/2011 4:13 PM, Merciadri Luca wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
I'm given the following program snippet:
==
class C1
{
public int n;
}
interface I1
{
int f();
}
class C2 extends C1 implements I1
{
public int f()
{
n = 18;
}
}
==
I need to say if the following expressions are valid or not
(justifications are trivial once I'm sure of the answer):
1. C1 obj_1 = new C2();
Invalid.
2. C2 obj_2 = new C1();
Invalid.
3. I1 obj_3 = new C2();
Invalid.
4. I1 obj_4 = new I1();
Invalid.
5. C2 obj_5 = new I1();
Invalid.
I predict you will get compile-time
errors for all five of them.
Okay, I just tested and received the results I wrote before.
==
$ javac Test.java
Test.java:25: incompatible types
found : C1
required: C2
C2 obj_2 = new C1();
^
Test.java:27: I1 is abstract; cannot be instantiated
I1 obj_4 = new I1();
^
Test.java:28: I1 is abstract; cannot be instantiated
C2 obj_5 = new I1();
^
3 errors
==
so that the three operations I mentioned as invalid are effectively
(at least to my little knowledge) invalid.
Do you have an explanation about your way of reasoning? My compiler
might be too old, or something like that.
- --
Merciadri Luca
See http://www.student.montefiore.ulg.ac.be/~merciadri/
- --
If you want to judge a man's character, give him power.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>
iEYEARECAAYFAk2Yks0ACgkQM0LLzLt8MhwjcACeOCs6bQkzthbMsVrLLnh9U1pB
3KgAnjWe/2xDRT/2JX7WlbETaYUXh/oo
=3ml2
-----END PGP SIGNATURE-----