Translate

2015年11月24日火曜日

継承におけるStatic

class Sample{
 public static void main(String[] args){
  A obj = new C();
  obj.hoge();
 }
}

class A{
 static void hoge(){
  System.out.println("A");
 }
}

class B extends A{
 static void hoge(){
  System.out.println("B");
 }
}

class C extends B{
 static void hoge(){
  System.out.println("C");
 }
}

これは A


class Sample{
 public static void main(String[] args){
  B obj = new C();
  obj.hoge();
 }
}

class A{
 static void hoge(){
  System.out.println("A");
 }
}

class B extends A{
 static void hoge(){
  System.out.println("B");
 }
}

class C extends B{
 static void hoge(){
  System.out.println("C");
 }
}

これは B


class Sample{
 public static void main(String[] args){
  C obj = new C();
  obj.hoge();
 }
}

class A{
 static void hoge(){
  System.out.println("A");
 }
}

class B extends A{
 static void hoge(){
  System.out.println("B");
 }
}

class C extends B{
 static void hoge(){
  System.out.println("C");
 }
}

これは C

class Sample{
 public static void main(String[] args){
  A obj = new C();
  obj.hoge();
 }
}

class A{
 static void hoge(){
  System.out.println("A");
 }
}

class B extends A{
}

class C extends B{
}

これは A


class Sample{
 public static void main(String[] args){
  B obj = new C();
  obj.hoge();
 }
}

class A{
 static void hoge(){
  System.out.println("A");
 }
}

class B extends A{
}

class C extends B{
}

これも A


class Sample{
 public static void main(String[] args){
  C obj = new C();
  obj.hoge();
 }
}

class A{
 static void hoge(){
  System.out.println("A");
 }
}

class B extends A{
}

class C extends B{
}

これでも A

そういうものなのか・・・

0 件のコメント: