JavaA2Z

KAB-studio > プログラミング > JavaA2Z > friendとは

friend

日本語 友人
英語 friend
ふりがな ふれんど
フリガナ フレンド

解説

他のクラスからprivateメンバにアクセスできるようにするための予約語
C++言語に存在する予約語
Javaには存在しない。
 
privateフィールドprivateメソッド等のprivateメンバは、自分以外のクラスからアクセスすることはできない。
C++言語では、「friend」という予約語で他のクラスを指定することで、そのクラスからはprivateメンバにアクセスすることを許可することができる。
このようにfriendで指定したクラスのことを「フレンドクラス」という。
 
カプセル化を壊すことになるため、多用は危険。
そのためか、Javaにはfriendという予約語は存在しない。同様の機能を持つ予約語も存在しない。
ただし、内部クラスは、外部クラスprivateメンバにアクセスできるため、内部クラスを用いることで擬似的にfriendと同様の機能を実現することができる。

参考サイト

  • (参考サイトはありません)

(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
public class Sample
{
    // Javaでは、friendという予約語は存在しません。
    // friend class FriendClass;
    // コンパイルエラー:
    // キーワード "class" に構文エラーがあります。正しくは "Identifier" です。

    public static void main( String[] args )
    {
        // Javaでは、friendは予約語ではないので
        // 識別子として使用できます。
        int friend = 100;
    }
}

// friendクラス?
class FriendClass
{

}
// Sample.java
public class Sample
{
    // Javaでは、friendという予約語は存在しません。
    // friend class FriendClass;
    // コンパイルエラー:
    // キーワード "class" に構文エラーがあります。正しくは "Identifier" です。

    public static void main( String[] args )
    {
        // Javaでは、friendは予約語ではないので
        // 識別子として使用できます。
        int friend = 100;
    }
}

// friendクラス?
class FriendClass
{

}

この単語を含むページ

「みだし」に含まれているページ

「解説」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/12/02
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。