Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
40
Help us understand the problem. What is going on with this article?
@ktarow

Javaのpackage・import・修飾子について

More than 5 years have passed since last update.

Javaのpackage・import・修飾子に関するメモ

package

Javaパッケージ(Java package)は名前空間の中にあるJavaクラスをまとめるメカニズムである。(wikipediaより)

packageとは、複数のクラスをまとめる仕組みであり、クラスの名前空間アクセス制御に利用される。

パッケージに分割するとクラスやインターフェースの名前衝突を防ぐことができる。

しかし、Javaにはパッケージ名の衝突を防ぐ仕組みはなく、インターネットドメイン名(DNSドメイン名)を利用することを推奨している。

/* パッケージ名 */
info.ktaro.www

パッケージ宣言は、行の先頭で行う必要がある。

/* 例 */
package info.ktaro.www

class Sample{
    ...
}

import

Javaソースファイル内でパッケージを使うことで、import文でパッケージからクラスをインポートすることは便利なものとなる。(wikipediaより)

import文は、他のパッケージ内のクラスやインターフェイスを参照するために利用する。
ただし、上記は必須ではない。

/* importを利用しない書き方 */
java.util.List<String> list = new java.util.ArrayList<String>();

/* importを利用した書き方 */
import java.util.*
...
List<String> list = new List<String>();

importの種類

オンデマンドインポート

アスタリスク(*)を利用したインポート。

import java.util.*

単一型インポート

個別に型名を指定したインポート。

import java.util.List

オンデマンドインポートは便利な半面、多用すると名前衝突を発生させる可能性が高くなるため、なるべく単一型インポートを行うように心がける。

修飾子

クラス

修飾子(アクセス制御)

修飾子 意味
public どこからでもアクセス可能。
なし 同一パッケージ内のみアクセス可能

修飾子

修飾子 意味(記述なし)
final 拡張継承を禁止。(継承可能)
abstract 抽象クラス。(具象クラス)
... ...

メンバ(フィールド、メソッド、コンストラクタ、etc.)

修飾子(アクセス制御)

修飾子 意味
public どこからでもアクセス可能。
private そのクラス内からのみアクセス可能
protected そのクラス内、継承クラス、パッケージ内の他クラスからアクセス可能
なし そのクラス内、パッケージ内の他クラスからアクセス可能

フィールド宣言

修飾子 意味
final 再代入禁止。(定数)
static クラスフィールド
... ...

メソッド宣言

修飾子 意味
final オーバーライド不可
static クラスメソッド
abstract 抽象メソッド
... ...
40
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
40
Help us understand the problem. What is going on with this article?