Javaのstatic method

static methodにして困ることはそんなにないけど、明確に害なのがポリモーフィズムができない。
http://d.hatena.ne.jp/ryoasai/20110623/1308841453
に詳細があって、理解できてない部分ある。

インスタンス生成しないで良いからstaticにしようとかあるけど、そんなのカスみたいなもんだし、理由がない限りstaticを使うのをやめよう。

public class test {
	public static void main(String[] args) {
		new test().run();
	}

	void run() {
		System.out.println(B.rap()); // 	1
		System.out.println(new D().rap()); // 	2
	}

	static class A {
		static int get() {
			return 1;
		}
		
		static int rap(){
			return get();
		}
	}
	
	static class B extends A {
		static int get() {
			return 2;
		}
	}

	class C {
		int get() {
			return 1;
		}

		int rap() {
			return get();
		}
	}
	
	class D extends C {
		int get() {
			return 2;
		}
	}
}