質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

3回答

3612閲覧

デフォルトパッケージの作成

ryoga4869

総合スコア17

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2019/06/14 04:21

デフォルトパッケージ内に保存と教材に書いてあり、デフォルトパッケージを作成しようとするも理解できず、パッケージの名前や作成方法?デフォルトパッケージとは何かを教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/06/14 04:24

Google検索で「デフォルトパッケージ」とするとそれなりに解説の記事や質問・回答がでてきますが、それらを幾つかでも確認したうえでの質問でしょうか。
ryoga4869

2019/06/14 04:30

すみません。調べているのですが理解が追いつかなくて、、、
m.ts10806

2019/06/14 04:40

質問内容だけが見ている人には全てです。 この質問内容だけだとどのように調べてどのような記事を読んで何をどう理解しているかというところまでは分からない「丸投げ」の状態です。 それに何も書いていないと、既に確認した記事が提示されるかもしれません。2度手間になりますよね? また、回答者観点からすると記事にあるような内容でおおよそ理解し、簡潔しているので、「どこまでどのように理解しているのか」具体的に記載しないことには得たい回答は得られないと思います。 https://teratail.com/help/question-tips#questionTips1-2 >検索して見つけたページでわからない事があれば、どのページのどの部分がわからないのかを明確に記し質問してみてください。 https://teratail.com/help/question-tips#questionTips2-1
ryoga4869

2019/06/14 04:50

ありがとうございます。 以後、回答者への配慮を加味し質問できるように考えます。 この問題に関しては大まかに理解できました。 デフォルトパッケージとはパッケージを作成するのではなく、ファイルを作成した際にjavaがパッケージを必要とするのでパッケージが生成されるという認識で合ってますでしょうか?
m.ts10806

2019/06/14 04:57

質問を編集して追記してください。
guest

回答3

0

ベストアンサー

デフォルトパッケージはあくまでデフォルトなので、何も指定しないときのパッケージがデフォルトです。
また、実行位置によって正しいパッケージは変わります。
例:

src <-ここで実行 -hoge -Main.java <- パッケージはhogeが正しい 実行コマンドは java hoge.Main
src -hoge -Main.java <- ここで実行=デフォルトパッケージが正しい 実行コマンドは java Main

蛇足

デフォルトパッケージ内に保存と教材に書いてあり

ということは、何かの教材ですよね?ですので、たぶん説明がそれに書いてあると思うのですが...

投稿2019/06/14 10:17

編集2019/06/18 10:53
yukkuri

総合スコア624

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

momon-ga

2019/06/14 13:18 編集

> ファイルが合っても実行位置でパッケージは変わります。 これ本当ですか? java Main で実行したものが、実行場所により、java src.hoge.Main になります? java src/hoge/Main.java (位置的には、 java hoge/Main.java) の、ことか?
yukkuri

2019/06/17 11:49

そのことです。誤解を生んでしまったようで申し訳ありません。
momon-ga

2019/06/18 03:29 編集

修正ありがとうございます。 ただ、根本的にフォルダーとパッケージの意味が混在しているのが気になります。 どこで実行してもパッケージはデフォルトですよね? また実行方法が違います。 指定された方法で実行すると hoge.Mainをロードできませんというエラーになるはずです。(つまり、パッケージはhogeでない) 実行コマンドは java hoge.Main でなく java hoge\Main.java と、java拡張子かつ、ディレクトリ指定となると思います。 または、クラスパスを指定して。 java -cp hoge Main で、実行できます。
yukkuri

2019/06/18 10:58

一応もう一度修正しました。 一つ聞いてもよろしいでしょうか。 1.java hoge\Main.java という実行コマンドについてですが、 javaは確か実行時はパッケージ名、拡張子入れないというルールだったはずですが... どこかにディレクトリ名で実行、という文献がありますでしょうか。 なお、 > どこで実行してもパッケージはデフォルトですよね? という部分は修正しました。たしかに、ソースを変更しない限りパッケージはデフォルトだからです。
momon-ga

2019/06/18 12:13 編集

java11から、ファイル名(*.java)で直接コンパイル&実行ができるようになりました。(制限つきで) http://openjdk.java.net/jeps/330 実行時にパッケージ名を入れないというのは勘違いでしょう。 今回のケースのようにhogeフォルダにpackage hoge;のMainクラスがある場合、 src フォルダから、java hoge.Main で、実行できます。 逆に、hoge フォルダから実行する場合は、 java -cp .. hoge.Main のように実行します。
yukkuri

2019/06/19 07:44

あ、すみません。文が悪かったですね。 パッケージ名、クラス名で実行をし、.java入れない、ということです。申し訳ないです。 > java11から... これは知りませんでした。(java8をまだ使ってる) 勉強になりました。
guest

0

ソースがsrcに保存するとき、Javaはフォルダがパッケージとなるため、パッケージを作らずにそのままクラスファイルを作成した場合がデフォルトパッケージとなります。


デフォルトパッケージのHelloWorldクラス

src
+--HelloWorld.java


パッケージあり(このケースではhogeパッケージのHelloWorldクラス)

src
+--[hoge]
+--HelloWorld.java

投稿2019/06/14 08:47

編集2019/06/14 08:49
arcanum_jp

総合スコア94

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

デフォルトパッケージ=パッケージが未指定のときです。

投稿2019/06/14 07:14

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問