0Pricing
Java Academy · レッスン

パッケージとアクセス修飾子

パッケージとアクセス修飾子

「パッケージとアクセス修飾子」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン1/1です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全1レッスンが含まれています。

導入

こんにちは。

Javaはアクセス修飾子を使用して、オブジェクト間のアクセスを制限します。

これは、クラスレベルの場合もあれば、変数、メソッド、コンストラクターのレベルの場合もあります。

アクセス修飾子の概念を詳しく見ていく前に、Javaにおけるパッケージの概念を学ぶ必要があります。

導入 2

Javaでは、同じ処理を行うクラスをグループ化できます。これは、同様の役割を持つファイルを同じファイルシステム内のフォルダーにまとめるようなものです。

パッケージ化は、特に名前は同じでも機能が異なるクラスやメソッド同士の衝突を避けるために非常に重要です。

組み込みパッケージ

それでは、組み込みパッケージを見てみましょう。

Javaには、Java開発環境に付属するクラスが非常に多く存在します。

この中から、アプリケーション開発時に必要なクラスを見つけることができます。

具体例

図書館として考えることができます。図書館には、カテゴリーごとに分けられた棚があり、その棚には本があります。

Javaで具体例を考えると、図書館の棚はパッケージに、本はクラスに相当します。

続き

ライブラリのクラスを自分のクラスの1つで使用したい場合は、パッケージ全体または関連するクラス自体を、自分のクラスにインポートする必要があります。

以下はJava APIを使用したimportの例です。

import package.name.*; // Import the whole package
import package.name.Class; // Import a single class

構文

構文を見ると、importキーワードの後にpackage.packageName.classNameと記述することで、クラスをコードに直接インポートできます。 

一方、package.packageName. *のようにアスタリスクを使うと、そのパッケージ内の該当するクラスをクラスから利用できるようになります。

import java.util.Scanner;

class Main {

    public static void main(String[] args) {

    Scanner myObj = new Scanner([System.in](http:/system.in/));
      
   System.out.println("Enter username");
   String userName = myObj.nextLine();              System.out.println("Username is: " + userName);

                }
            }

アクセス修飾子

Javaでアクセス修飾子を定義しない場合は、デフォルトアクセス修飾子が適用されます。

定義できるアクセス修飾子は次のとおりです。

public

public

名前からも分かるように、アクセス修飾子の中で最も制限が少ないのがpublicです。

publicで定義されたメソッド、クラス、変数には、アプリケーション内のどこからでもアクセスできます。

default

default

アクセス修飾子を指定しない場合、Javaがデフォルトアクセス修飾子を自動的に割り当てます。

これらのアクセス修飾子には、同じパッケージ内からのみアクセスできます。

警告

クラスに指定できるアクセス修飾子はpublicまたはdefaultのみです。

private

private

定義された要素には、該当するクラス内からのみアクセスできます。

同じパッケージ内や、関連するクラスを継承したサブクラスからはアクセスできません。

protected

protected

protectedで定義されたコードには、同じパッケージ内からアクセスできるほか、サブクラスからもアクセスできます。

ここで最も混乱しやすいのは、protectedとデフォルトアクセス修飾子の違いです。どちらもパッケージレベルでは制限を設けませんが、protectedではサブクラスから該当するコードにアクセスできます。

デフォルトアクセス修飾子では、継承した場合でもサブクラスから親クラスの該当するコードにアクセスできません。

おめでとうございます

おめでとうございます 🎉

このレッスンでは、Javaのアクセス修飾子について学びました。

次のレッスンでお会いしましょう。

パッケージとアクセス修飾子 — イラスト13

よくある質問

「パッケージとアクセス修飾子」レッスンは無料ですか?

はい。「パッケージとアクセス修飾子」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全1レッスンが含まれています。

「パッケージとアクセス修飾子」で何を学びますか?

パッケージとアクセス修飾子 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/1です。

「パッケージとアクセス修飾子」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

← Java Academyに戻る