JavaSE---04マルチステート

9259 ワード

JavaSE---04マルチステート
  • 類の多態
  • インタフェースのマルチステート
  • クラスのマルチステート
    呼び出しプロパティ:コンパイルは左を見て、実行も左を見て呼び出し方法:コンパイルは左を見て、実行は右を見て
    class A {
        int m = 10;
    
        public void hello() {
            System.out.println("BBB      hello");
        }
    
        public void sayHi() {
            System.out.println("BBB       hi");
        }
    }
    class B extends A {
        int m = 20;
        public void hello() {
            System.out.println("hello");
        }
    
        public void sayHi() {
            System.out.println("hi");
        }
        public void sayHi2() {
            System.out.println("hi2");
        }
        public static void main(String[] args) {
            //              
            A f = new B();
            //    :      ,      
            System.out.println(f.m);
            //    :      ,     
            f.sayHi();
        }
    }
    

    インタフェースのマルチステート
    呼び出し方法:コンパイルは左を見て、実行は右を見て
    interface AA{
        public void hello();
        public void sayHi();
    }
    class B implements AA {
        int m = 20;
    
    
        public void hello() {
            System.out.println("hello");
        }
    
        public void sayHi() {
            System.out.println("hi");
        }
        public void sayHi2() {
            System.out.println("hi2");
        }
        public static void main(String[] args) {
            //              
            AA f = new B();
    
            //    :      ,     
            f.sayHi();
        }
    }