こんにちは
二つ疑問があります。
今、Javaを勉強しているのですが、関数やメソッドの一覧を暗記したいと思い、検索してみても出てきません。一方でJavascriptの場合は関数・メソッドともに一覧表がすぐに見つかるのですが、Javaはありません。
①つめの疑問 「JavaにはJavascriptのように一つ一つの関数やメソッドというものがないのでしょうか?」
似たようなもので、http://docs.oracle.com/javase/jp/6/api/
というサイトを発見したのですが、↓↓↓
一つ一つではなくてなにやらごちゃごちゃしています。
javaには一つ一つの関数やメソッドというものがないのでしょうか?
逆に、クラスの一覧表というものは検索すると出てくるのですが、ここで第二の疑問が生まれました。
②つめの疑問「クラスの一覧といってもしたいことは人それぞれバラバラなのだから、一覧表になんてできないはずではないの?」という疑問です。
大変長ったらしい質問になってしまいました。すみません
それでももし、宜しければ回答お願い致します
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
・1つ目
貴方が見つけたページのリンク先にメソッドは記載されていますよ。
また、Javaの主体は関数やメソッドではありません。関数やメソッド、変数を持ったクラスが主体です。
・2つ目
基本的に用意されているのは「このクラスは◯◯したい時に使う」と言ったものです。
これらのクラスをいろいろな使い方をして「自分のやりたい事ができるクラス」を作る必要があります。
・Javaを覚える
どのような言語もそうですが全てを覚えるのは辞めた方がいいです。
「何ができるか」を理解し、「どのように実装するか」はその都度考えるべきだと思います。もちろん参考書の目次に載っているような簡単な実装内容はある程度覚え必要がありますが。
投稿2015/09/26 00:04
総合スコア18155
0
①について。
Javaのメソッドは、必ずクラスに所属していて、クラスは必ずパッケージに所属しています(デフォルトパッケージは例外)。
現在のJavaの現在の最新バージョンは8ですので、下記のページを見てみましょう。
フレームが分かれていて、左上がパッケージ名一覧、左下がクラス一覧、右がパッケージと概要の一覧になっています。
Java実行環境(JRE)がインストールされていれば、これらのクラスをすべて使うことができます。
(参考までに、あまりにクラスが多いので、使うパッケージを限定する機能、compactプロファイルというものがあります。)
②について。
クラスだけで一覧にすると、クラスが多すぎてとても分かりにくいので、パッケージで分類しています。
パッケージの分類はJava独自のもので、ある程度、機能別に分別されています。
JavaScriptでも基本となるObject
やString
というクラスはjava.lang
パッケージに属しています。java.lang
はJava言語の基本となるクラスを収めたパッケージです。
java.util
というパッケージも基本となるパッケージのひとつです。ただこのパッケージはコレクション、旧日付ユーティリティー、その他ユーティリティーなど雑多すぎるので分類といえるかどうかは怪しいです。
I/O関連は、java.io
パッケージにまとめられています。
ネットワーク関連は、java.net
パッケージにまとめられています。
やりたいことが違っても基本パッケージのクラスのいくつかはほとんどの人が使うものです。
基本クラスとは別に、機能ごとに分けられたものもあります。
GUIを扱うjava.awt
やjavax.swing
パッケージなどは、GUIを使わない人には不要です。
JDBC、DBとSQLを扱うjava.sql
パッケージは、DBを使わない人には不要です。
投稿2015/09/26 05:39
総合スコア9388
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
①つめの疑問 「JavaにはJavascriptのように一つ一つの関数やメソッドというものがないのでしょうか?」
Javaではあらゆるメソッドが何かしらのクラス(またはインタフェース)に属しています.クラス,またはクラスから生成したインスタンスを通じてメソッドを起動して処理や操作を行い,返り値を得たりします.
試しに一つ,文字列を表すStringクラスを見てみましょう.質問の画像の中にある"java.lang"というリンクから飛び,その中に"String"という物があるのでそこから行くことができます.ここにStringクラスでできることが並んでいます.
ある文字列のn文字目を返したり,文字列の長さを取得したりなどと言った操作が,Stringオブジェクトに対するこれらのメソッドでできることを表しています.
②つめの疑問「クラスの一覧といってもしたいことは人それぞれバラバラなのだから、一覧表になんてできないはずではないの?」
ここで表示されているのはJavaが標準で提供しているAPIで,いわばツールボックスです.
ユーザーはこれらの「道具」を使って好きなように自作のクラスを作成することができるのです.
投稿2015/09/26 04:24
総合スコア20651
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/27 16:35
0
既に TetsujiMiwaさんや yonaさんがご回答されているように「クラス」というものについての理解を深めることが疑問解決の近道です。
というのは、JavaScript も Java も、共にオブジェクト指向言語に分類される(名前も似ているので誤解に拍車を掛けている?)のですが、プロトタイプベース および クラスベース といって、オブジェクトに対する考え方もプログラムの実装方法も全く異なります。
その辺が分かってくると、Javadoc で クラスの仕様 を記述し 共有する仕組み が非常に合理的であることに納得されると思います。
ですので、たとえば下記のような説明をよく読み、まずは JavaScript と Java は 「全く別の言語である」 という前提に立ってから、Javaの学習を進められてはいかがでしょうか?
投稿2015/09/26 00:46
総合スコア5936
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/27 16:39
0
ベストアンサー
「オブジェクト指向」という物の理解が必要かと思います。
「Javaは、あるクラスのmainメソッドからスタートし、
実装したクラスをインスタンス生成してオブジェクト化しながら
処理を進めていきます。」
「あるクラスのmainメソッドからスタート」
これは、コマンドラインで「C:\hoge>java App」とした場合、
App.javaで実装した、mainメソッドが処理開始となるということです。
「実装したクラス」
これは、後述します。
「インスタンス生成してオブジェクト化」
これは、例えばmainメソッドで「Huga huga = new Huga();」とすることで、
Hugaクラスの実体(クローンみたいなもの)をメモリに配備します。
Huga hugaA = new Huga(); Huga hugaB = new Huga();
とやれば、Hugaという1つのクラスから、
hugaA、hugaB2つのオブジェクトが作られることになります。
「処理を進めていきます」
huga変数またはhugaA、hugaBでメソッド操作していく形になります。
さて、ここからオブジェクト指向の説明になります。
オブジェクト指向とは、プログラム設計の仕方を、
ある一塊の処理する物(オブジェクト)に分解して定義(=クラス)しよう
という指向になります。
ここから質問①の回答:
こうする事により、どこかの誰かが作ったクラスを使用する際、
内部処理がどうなっているか気にすることなく、公開(=public)された
メソッドやフィールドの挙動を把握するだけで使用する事が可能になります。
それがJavadocといって、あなたが探し当てたサイトのような形式になります。
質問②の回答:
コーディングする際に、コメントなどjavadocの仕様に即して対応してあれば、
c:\hoge>javadoc -d dest *.java
(拡張子javaのファイルに定義されたクラス全部をdestフォルダにjavadoc出力)
で生成可能です。
Eclipseでもっと簡単に出力するやり方もあります。
投稿2015/09/25 23:29
総合スコア1124
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/27 16:47
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/27 16:44