2013-07-22 7 views
12

最初に、私はJava、初心者向けガイド、第4版でJavaを学ぼうとしています。私はIDEとしてOSとNetbeansとしてUbuntuを使用しています。 netbeansを使用するときにクラスを作成するプロジェクトを作成する必要があります。私はすべてのクラスで "パッケージ"の用語を使用する必要があります

ここは私のこんにちは世界のアプリです。

class First{ 
    public static void main(String args[]) 
    { 
     System.out.println("Hello!"); 
    } 
} 

しかし、これは多くのエラーを返します。私はpackage first;行を自分のJavaクラスのトップラインに置くと実行します。しかし、本はパッケージ用語を使用していません。これはネットビーンズのルールですか、これについて私が知る必要があるのでしょうか?

+1

これはネームスペースの宣言であり、Netbeansの要件ではありません。 http://en.wikipedia.org/wiki/Java_package –

+1

わかりました。クラスをパッケージから外すと、パッケージ用語を使用する必要はありません。 – Yusuf

答えて

15

あなたは決してが必要です。クラスをパッケージに入れるにはが必要です。しかし、それはほとんど常に良い考えです。これは、Netbeansが積極的にあなたに勧めようとしているものです。

小規模プロジェクトの場合、デフォルトパッケージ(つまり、パッケージはまったくありません)を使用するとOKです。しかし、プロジェクトが成長して外部ライブラリを追加すると、悪いことが起こる可能性があります。他の誰かがデフォルトのパッケージを使用することを決めた場合、同じ名前のクラスがあるとしたらどうなりますか?今、あなたは同じパッケージに入っているので、衝突が発生する可能性があります。

あなたのファイル構造にはあなたのパッケージも反映されているはずです。つまり、package com.myurl.helloworldのファイルは、com/myurl/helloworldというフォルダに格納されている必要があります。これは上記と同じ理由によるものです。

また、あなたの勉強の中ではまだ得られていないかもしれません。デフォルトパッケージからクラスをインポートすることも、デフォルトパッケージクラスでpackage-private visibility修飾子を使用することもできません。

10

Java、初心者用ガイド、第4版の著者が「デフォルトパッケージ」を使用している可能性が最も高いためです。この方法では、パッケージを含める必要はありません。パッケージは名前空間宣言です。

名前空間宣言は何ですか? 名前空間宣言は、単にあなたのクラスを整理するために作られたパッケージです。インスタンスの場合、複数のクラスを使用する場合は、GUIとアルゴリズムの複数のクラスを一緒にブレンドすると、ちょっと混乱します。しかし、異なるパッケージでそれらをソートすることは、優れた解決策です。

他の人があなたのコードを見ているならば、あなたが従うべき命名規則もあります。パッケージはトップレベルドメインの名前を付けなければなりません。私はSourceForgeのプロジェクトを作成する傾向があり、その後、私はこのようなもので終わる:

net.sourceforge.softwarename.securitynet.sourceforge.softwarename.gui、等...

はまた、あなたのパッケージに名前を付けるときに大文字を使うべきではありませんのでご注意します。詳細情報here

プログラミングを習得する際には、このような状況に遭遇します。彼らはすべてゲームの一部です。あなたはちょっと自分で考えなければなりません。

Eclipseをお勧めします。また、Javaを学ぶ際には、IDEをすべて使用しないことをお勧めします。それはあなたが独立してコードを書くことを学ぶからです。それはあなた次第です。

+1

あなたは素敵な答えを書きましたが、あなたは実際に貧しい人にパッケージの仕組みを説明していませんでした。パッケージは初めからJavaで書かれていたので、それを省略した本は古い本の問題ではありません。また、Eclipse(他のIDEも)に切り替えることで魔法のように解決されることはありません。 –

+1

嫌いを削除することを検討してください。 – Scientious

+0

私はむしろあなたがJavaを学んでいる理由のために使用する同じIDEを使用することをお勧めします。他の誰もが非常に生産的である一方、あなたはメモ帳で立ち往生しているだけではありません。 – ProfK

1

パッケージは、クラスとインターフェイスの関連グループを含むディレクトリを表します。

パッケージは、関連クラスのセットと インターフェイスを編成する名前空間です。概念的には、パッケージはコンピュータ上の の異なるフォルダと似ていると考えることができます。 1つの フォルダにHTMLページを、別のイメージにスクリプトを、または別のアプリケーションにアプリケーションを保存することがあります。 Javaプログラミング言語で書かれたソフトウェアは、数百または数千の個々のクラスで構成された になる可能性があるため、関連するクラスおよび インターフェイスをパッケージに配置することによって、物事を整理しておく意味があります。

あなたは、javaパッケージに関するいくつかの良い議論を見ることができます:

1

んが、あなたはにパッケージに配置する必要はありません。あなた自身のファイルである別のクラスにそれをインポートするのでなければあなたのクラス。これは、保護された型変数がプライベートにするのではなく、サブクラス(または子クラス)のみにアクセスしたい場合に使用します。クラスの公式声明も表示されないようにする必要があります。

public class First{ 
    public static void main(String[] args){ 
      System.out.println("Hello!"); 
     } 


} 
関連する問題