While executing the following code in 2.4.4 abstract class Module { > abstract String getModuleName() > } > class Master extends Module { > String title > String track > } > def master = new Master(title: "Hello", track: "1") > println master.title
I receive the following error message Abstract method 'java.lang.String getModuleName()' is not implemented but a > method of the same name but different return type is defined: method > 'java.lang.String getModuleName()' However, when I execute the code in version 2.2.2, I receive the following error message Can't have an abstract method in a non-abstract class. The class 'Master' > must be declared abstract or the method 'java.lang.String getModuleName()' > must be implemented. The *second* of the two error messages seems a bit clearer to me. With respect to version 2.4.4, is this expected behavior or is this a defect?