I java kan man ju kolla om ett object är en instans av ett object med instanceof, ex: Man använder instanceof! jo det trodde jag också... men det vill inte fungera... nu kan jag inte skriva in hela mitt program som exempel då det är lite för stort men i princip har jag så här: Det har ordnat sig nu... det blev en konflikt mellan gamla kompilerade class filer och nya... Interface....
<code>
Object o=new Integer(45);
if(o instanceof Integer)
System.out.println("o är en integer");</code>
men hur kan man göra för att se om ett object har implementerat ett interface?Sv: Interface....
Här kommer lite kod som visar hur man listar alla interface som en klass implementerar, samt hur man använder instanceof för att kolla om en klass
implementerar ett visst interface.
<code>
interface a
{
public void hejsan();
}
interface b
{
public void svejsan();
}
interface c
{
public void nejsan();
}
public class test implements a, b
{
public static void main(String s[])
{
test t=new test();
Class c[]=t.getClass().getInterfaces();
for (int i=0; i<c.length; i++)
System.out.println(c[i].getName());
if (t instanceof a) // Sant för a och b, dock inte för c
System.out.println("test implementerar interfacet a");
else
System.out.println("test implementerar inte interfacet a");
}
public void hejsan()
{
}
public void svejsan()
{
}
}
</code>Sv: Interface....
<code>
interface a {
public void hejsan();
}
class b implements a {
public void hejsan() {
// kod...
}
}
class c extends b {
// ...
}
class test {
public static void main(String[] args) {
c test = new c();
if(test instaceof a) {
System.out.println("c implementerar a");
} else {
System.out.println("c implementerar inte a");
}
}
}</code>
men detta fungera inte för mig... registrerar den inte implementation om man så att säga ärver den från en annan klass?Sv: Interface....