samples/insertsuperclass/src-impl/impl/Main.java
author Jaroslav Tulach <jtulach@netbeans.org>
Fri, 29 Aug 2008 15:08:04 +0200
changeset 277 34370a93db6b
parent 12 711145230748
permissions -rw-r--r--
Enabling assertions and also demonstrating that fields can be moved up to one level in the class hierarchy
jtulach@12
     1
jtulach@12
     2
package impl;
jtulach@12
     3
jtulach@12
     4
import api.HelloClass;
jtulach@277
     5
import api.HelloFieldClass;
jtulach@12
     6
import api.HelloInterface;
jtulach@12
     7
jtulach@12
     8
/**
jtulach@12
     9
 *
jtulach@12
    10
 * @author Jaroslav Tulach <jtulach@netbeans.org>
jtulach@12
    11
 */
jtulach@12
    12
public class Main {
jtulach@12
    13
    public static void main(String[] args) throws Exception {
jtulach@277
    14
        boolean assertionsOn = false;
jtulach@277
    15
        assert assertionsOn = true;
jtulach@277
    16
        if (!assertionsOn) {
jtulach@277
    17
            throw new IllegalStateException("Enable assertions!");
jtulach@277
    18
        }
jtulach@277
    19
        
jtulach@12
    20
        HelloClass clazz = new ImplClass();
jtulach@12
    21
        assert "Hello Unknown!".equals(clazz.sayHello());
jtulach@12
    22
        assert "Hello Jaroslav!".equals(clazz.sayHelloTo("Jaroslav"));
jtulach@277
    23
        System.err.println("Who defines sayHello(): " + clazz.getClass().getSuperclass().getMethod("sayHello"));
jtulach@12
    24
jtulach@12
    25
        HelloInterface iface = new ImplInterface();
jtulach@12
    26
        assert "Hello Unknown!".equals(iface.sayHello());
jtulach@12
    27
        assert "Hello Jaroslav!".equals(iface.sayHelloTo("Jaroslav"));
jtulach@277
    28
        System.err.println("Who defines sayHello(): " + iface.getClass().getInterfaces()[0].getMethod("sayHello"));
jtulach@12
    29
        
jtulach@277
    30
        HelloFieldClass fieldClass = new HelloFieldClass();
jtulach@277
    31
        assert "Hello".equals(fieldClass.field);
jtulach@277
    32
        System.err.println("Who defines field: " + fieldClass.getClass().getField("field"));
jtulach@12
    33
    }
jtulach@12
    34
}