Created
December 3, 2014 19:52
-
-
Save wrobstory/acafa97c60a92a0d2975 to your computer and use it in GitHub Desktop.
Inheritance reflection wat
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
scala> abstract class FooClass(val foo:String) | |
defined class FooClass | |
scala> class ExtendsFoo(override val foo:String = "foo!") extends FooClass(foo) | |
defined class ExtendsFoo | |
scala> val foo = new ExtendsFoo() | |
foo: ExtendsFoo = ExtendsFoo@3b40500e | |
scala> foo.foo | |
res11: String = foo! | |
scala> foo.getClass.getField("foo") | |
java.lang.NoSuchFieldException: foo | |
at java.lang.Class.getField(Class.java:1579) | |
at .<init>(<console>:16) | |
at .<clinit>(<console>) | |
at .<init>(<console>:11) | |
at .<clinit>(<console>) | |
at $print(<console>) | |
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
at java.lang.reflect.Method.invoke(Method.java:606) | |
at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:704) | |
at scala.tools.nsc.interpreter.IMain$Request$$anonfun$14.apply(IMain.scala:920) | |
at scala.tools.nsc.interpreter.Line$$anonfun$1.apply$mcV$sp(Line.scala:43) | |
at scala.tools.nsc.io.package$$anon$2.run(package.scala:25) | |
at java.lang.Thread.run(Thread.java:745) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment