One more puzzler

This commit is contained in:
Andrey Breslav
2011-11-13 19:10:55 +04:00
parent 703963621e
commit 1927eeef2c
2 changed files with 48 additions and 0 deletions
@@ -0,0 +1,20 @@
package _06_classy._48_All_I_Get_Is_Static;
class Dog {
public static void bark() {
System.out.print("woof ");
}
}
class Basenji extends Dog {
public static void bark() { }
}
public class Bark {
public static void main(String args[]) {
Dog woofer = new Dog();
Dog nipper = new Basenji();
woofer.bark();
nipper.bark();
}
}
@@ -0,0 +1,28 @@
namespace all.i.get.`is`.static
import std.io.*
import std.*
open class Dog() {
class object {
fun bark() {
print("woof")
}
}
}
class Basenji() : Dog() {
class object {
fun bark() { }
}
}
fun main(args : Array<String>) {
val woofer : Dog = Dog()
val nipper : Dog = Basenji()
// Problematic code does not compile:
// woofer.bark()
// nipper.bark()
Dog.bark()
Basenji.bark()
}