Javaプログラミングアクセス権限の制御コードの詳細


本論文では主にJavaプログラミングアクセス権限の制御に関する内容を紹介します。
前に注意していなかった修繕符は、一般変数の前に追加されていません。一つは何の役に立つか分かりません。一つは怠惰です。あとでプロジェクトに出会うと、私有と公有の違いはやはり大きいです。
(1)まずパッケージ名
一つのクラスを使う場合、例えば、集合類はこのカバンを導入して、その下のクラスを使用する必要があります。例えば:

package com.myown.iaiti; 
 
public class Print { 
  static void print(String s){ 
    System.out.println(s); 
  } 
} 
カスタムパッケージは、自分のバッグを導入することで、自分で書いた方法で文字列を印刷することができます。以前に自分のバッグのパスをCLASSPATHに設定してみましたが、他のディレクトリでコンパイルしても、このカタログにカバンを入れる必要がなく、正常に運行できます。そうでないとJARカバンが見つからないです。
(2)public
public、公共の、以前の先生はいつも老子を使って比喩して、これは公共のもので、老子はあなたに使って、publicはデータの成員にくっついて、すべての人に対してすべて使うことができるのだと説明します。
(3)prvate
prvate、私有の、老子の私有財産、それを動かさないでください。このデータのメンバーが含まれている種類を除いて、他の種類は使えません。この部分は設計者自身が他人に見たり、直したりしたくないです。

public class Print { 
  public static void main(String[] args) { 
    GetIt g = new GetIt(); 
  } 
} 
 
 class GetIt{//                       
   //    public       Print        
  private GetIt(){} 
} 
The constructor GetIt()is not visibleは、見られなくて、用途が分かりますよね。シングルモデルもこのように使って、対象の作成を制御します。
一例モードの適用:

class A{ 
  private A(){}  
  private static A a = new A();  
  public static A getInstace(){ 
    return a; 
  } 
} 
他のクラスはnewでオブジェクトを作成できません。このA類が複雑で、メモリを消費する時、Aオブジェクトの作成を厳しくコントロールする必要があります。例を挙げた上は、ついでに例を説明します。前に何人かの人が書いたのを見ましたが、とても経典的で、すごいです。
上のようなのは餓漢式です。すぐにnewを出してあげます。これからnewの時はそのまま使って、スレッドの問題がありません。
なまけ者根性

public class A {     
   private A(){ }   
   
   private static A a;   
   public static A getInstance(){   
     if(a == null){   
       return a = new A();   
     }else{   
       return a;   
     }   
   }   
 } 
使う時にnewを手伝ってあげます。null才newですが、スレッドの問題があり、synchronizedもあります。しかし、効率が低下します。マルチスレッドの場合、その中の一つが使っていると、占領してしまいます。
完璧な方法は両者を結合することです。

public class A { 
  //        ,        ,         
  private static class LazyA { 
    public static A A = new A(); 
  } 
  public static A getInstance() { 
    return LazyA.A; 
  } 
} 
前から見ても分かりません。これは静的な内部類というもので、作用は時間を延長してロードすることができます。使う時だけnewに行きます。getInstace方法で、マルチスレッドの問題が存在しないのは、静的なクラスはすべての外部類の対象に属しています。一回だけロードします。静的な内部類の実例化後、クラスクラスの属性です。ある対象ではありません。一回だけロードすると、資源の無駄がなく、マルチスレッドの効率が低いという問題もありません。この方法を考え出した人は本当にすごいです。
(4)protected
Printは基質で、中国人は父の種類を話すことが好きですが、外国人は子供のほうが強いと感じています。基質は基本か基礎です。プロテックスは老子が息子に残した財産です。

public class Print { 
  protected void print(){} 
  private void cannotprint(){} 
} 
 
 
public class PrintSon extends Print{ 
  void get(){ 
    print(); 
    //cannotprint();  private      ,        
  } 
} 
 
 
public class NotSon { 
  void get() { 
    print(); 
  } 
} 
protectedで修飾されているものは、サブクラスで入手できます。publicとprvateの間にあります。
(5)クラスのアクセス権限
各ファイルは一つのpublic種類しかありません。
クラス名とファイル名が一致します。
単独の例では、基礎がないとちょっとリードしているように見えますが、後の知識点が整ったら、わかりやすくなります。アクセス権限のコントロールはやはり自分の部分のコードを他の人に直接使いたくないからです。
締め括りをつける
以上がJavaプログラミングアクセス権限の制御コードについての詳細な内容です。興味のある方は引き続き当駅の他のテーマを参照してください。友達のサポートに感謝します。