【javaベース】キーワード

3435 ワード

キーワード
  • デフォルト
  • public
  • private
  • protected
  • 呼び出し権限
  • 同じpackageで
  • 異なるpackageにおける
  • static
  • final
  • superとthis
  • デフォルト
    デフォルトは何も書かず、クラス、インタフェース、メソッド、プロパティ
    class Demo1 {
        String a;
        void func1(){ };
    }
    interface Interface1 {
    }
    

    public
    クラス、インタフェース、メソッド、プロパティを修飾できます
    public  class Demo2 {
        public String b;
        public void func2(){ };
    }
    public  interface Interface2 {
    }
    

    private
    メソッド、プロパティを修飾できます
    public  class Demo3 {
        private String c;
        private void func3(){ };
    }
    

    protected
    メソッド、プロパティを修飾できます
    public  class Demo4 {
        protected String d;
        protected void func4(){};
    }
    

    アクセス権の呼び出し
    同じパッケージで
    デフォルトのキーワードのプロパティ、メソッド、インタフェースを呼び出すことができます.
    Demo1 d1=new Demo1();
    System.out.println(d1.a);//            
    d.func1();//            
    
    public class Demo implements Interface1{}//         
    

    publicキーワードのプロパティ、メソッド、インタフェースを呼び出すことができます
    Demo2 d2=new Demo2();
    System.out.println(d2.b);//    public      
    d.func2();//    public      
    
    public class Demo implements Interface2 {}//    public   
    

    privateキーワードのプロパティ、メソッドは使用できません
    Demo3 d3=new Demo3();
    System.out.println(d3.c);//   
    d.func3();//   
    

    protectedキーワードのプロパティ、メソッドを呼び出すことができます
    Demo4 d4=new Demo4();
    System.out.println(d4.c);//    protected      
    d.func4();//    protected      
    

    違うパッケージで
    publicのプロパティ、インタフェース、メソッドのみがデフォルトのキーワードを呼び出すことができるプロパティ、メソッド、インタフェースを呼び出すことができます
    Demo1 d1=new Demo1();
    System.out.println(d1.a);//   
    d.func1();//   
    
    public class Demo implements Interface1{}//         
    

    publicキーワードのプロパティ、メソッド、インタフェースを呼び出すことができます
    Demo2 d2=new Demo2();
    System.out.println(d2.b);//    public      
    d.func2();//    public      
    
    public class Demo implements Interface2 {}//    public   
    

    privateキーワードのプロパティ、メソッドは使用できません
    Demo3 d3=new Demo3();
    System.out.println(d3.c);//   
    d.func3();//   
    

    protectedキーワードのプロパティ、メソッドを呼び出すことができます
    Demo4 d4=new Demo4();
    System.out.println(d4.c);//   
    d.func4();//   
    

    static
    static付きメソッドまたはプロパティは、クラスのメソッドとプロパティを表し、グローバル変数またはグローバルメソッドです.
    public  class Demo {
        public static String a;
        public static void func(){ };
    }
    

    staticのメソッドやプロパティを呼び出す場合は、newをインスタンス化する必要がなく、クラス名で直接呼び出すことができます.
    System.out.println(Demo.a);
    Demo.func();
    

    final
    finalで修飾された変数やメソッドは、修正されず、継承されず、書き換えられず、使用可能
    public  final class Demo {
        public final String a="finalDemo";
        public final void func(){ };
    }
    
    Demo d= new Demo();
    d.a="  ";//   
    System.out.println(d.a);//      
    d.func();//      
    
    public class SonFinalDemo extends Demo{}//   
    

    superとthis
    public class Parent{
        public void func(){
          System.out.println("parent func");
        }   
    }
    public class Son extends Parent{
        int a=123;
        public void func1(){
          super.func();//       , super   
        }
    }
    public void func2(int a){
          int a=123;
          System.out.println(a);//   a       ,        a,        a  
          System.out.println(this.a);//   a        a,     123;
    }
    func2(111);//         :
    111
    123