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
     1 
     2 package impl;
     3 
     4 import api.HelloClass;
     5 import api.HelloFieldClass;
     6 import api.HelloInterface;
     7 
     8 /**
     9  *
    10  * @author Jaroslav Tulach <jtulach@netbeans.org>
    11  */
    12 public class Main {
    13     public static void main(String[] args) throws Exception {
    14         boolean assertionsOn = false;
    15         assert assertionsOn = true;
    16         if (!assertionsOn) {
    17             throw new IllegalStateException("Enable assertions!");
    18         }
    19         
    20         HelloClass clazz = new ImplClass();
    21         assert "Hello Unknown!".equals(clazz.sayHello());
    22         assert "Hello Jaroslav!".equals(clazz.sayHelloTo("Jaroslav"));
    23         System.err.println("Who defines sayHello(): " + clazz.getClass().getSuperclass().getMethod("sayHello"));
    24 
    25         HelloInterface iface = new ImplInterface();
    26         assert "Hello Unknown!".equals(iface.sayHello());
    27         assert "Hello Jaroslav!".equals(iface.sayHelloTo("Jaroslav"));
    28         System.err.println("Who defines sayHello(): " + iface.getClass().getInterfaces()[0].getMethod("sayHello"));
    29         
    30         HelloFieldClass fieldClass = new HelloFieldClass();
    31         assert "Hello".equals(fieldClass.field);
    32         System.err.println("Who defines field: " + fieldClass.getClass().getField("field"));
    33     }
    34 }