ホームページ > Java > &#&はじめる > Javaでのprivateキーワードの使い方を詳しく解説

Javaでのprivateキーワードの使い方を詳しく解説

王林
リリース: 2020-03-13 18:03:26
転載
7377 人が閲覧しました

Javaでのprivateキーワードの使い方を詳しく解説

プライベート キーワードは中国語でプライベート キーワードです。どのように使用するのですか?

#1. 同じカテゴリ内でのみアクセスできます

class A {
    private String msg="Try to access the private variable outside the class"; // 用 private 修饰,无法别的类调用,只能在这个类中被调用
}
 
public class PrivateExample {
    public static void main(String[] args) {
        A a=new A();
        System.out.println(a.msg);
    }
}
ログイン後にコピー

推奨チュートリアル:

java クイック スタート

运行结果:(报错)
    Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	The field A.msg is not visible
ログイン後にコピー

2. 外部クラスおよびインターフェイスには割り当てられません

private class PrivateExample {  // private 是不能用来修饰类的
    void display(){
        System.out.println("Try to access outer private class");
    }
    public static void main(String[] args) {
        PrivateExample3 p=new PrivateExample();
        p.display();
    }
}
ログイン後にコピー
运行结果:(报错)
    Exception in thread "main" java.lang.Error: Unresolved compilation problem:
ログイン後にコピー

3. 完全にカプセル化されたクラスを作成します

private キーワードの最適な使用方法は、次のとおりです。クラスの作成 Java で完全にカプセル化されたクラスを作成するために、すべてのデータ メンバーがプライベートになります。

import java.lang.reflect.Method;
 
class A {
    private void display() {
        System.out.println("private method is invoked");
    }
}      
		   
public class PrivateExample {
    public static void main(String[] args)throws Exception {
 
        Class c = Class.forName("A");  // 加载 A 类
 
        Object o= c.newInstance();  // 实例化对象
 
        Method m =c.getDeclaredMethod("display", null);  // getDeclaredMethod方法返回指定方法,"display" 就是指定方法,null 表示该方法的参数
 
        m.setAccessible(true);  // setAccessible 方法能在运行时压制 Java 语言访问控制检查,从而能任意调用被私有化保护的方法 ( Method ),域 ( Field )、构造方法
        
        m.invoke(o, null);  //  invoke方法来执行对象的某个方法,括号中的 o 是方法,null 是参数
    }    
}
ログイン後にコピー
运行结果:
	private method is invoked
ログイン後にコピー

推奨される関連ビデオ チュートリアル:

Java ビデオ チュートリアル

以上がJavaでのprivateキーワードの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート