1. package
class
についてはある程度イメージができているという前提で進めていきます。
よくクラスは設計図、インスタンスはその設計図をもとに実際に生成されたもの、とか説明されていますがクラスがわからなければググってください。
他のオブジェクト指向のプログラミング言語にも共通していると思います。
packageとは何か
javaのプログラムの基本はクラスの作成から始まります。
単純なプログラムを作成していく場合は少ないクラスの利用だけですみますが、
大きなプログラムを作成していく場合はたくさんのクラスを利用していきます。
パッケージとはクラスやインタフェースの集りで、用途などで分類します。
javaではobjectクラスを筆頭に様々なクラスを用意されていますが、これらもすべてパッケージで管理されています。
パッケージが異なると同じ名前のクラスでも別のクラスとして扱われます。
引用元:http://www1.bbiq.jp/takeharu/java51.html
Java™ のクラスはそれぞれ、あるパッケージに属しています。 どのクラスがどのパッケージに含まれるかは、Java ソース・ファイルの最初のステートメントに記述されます。 ソース・ファイルにパッケージ・ステートメントがない場合、そのクラスは名前のないデフォルトのパッケージに含まれると見なされます。
引用元:https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_71/rzaha/clpckdir.htm
packageの特徴
・全てのclassはpackageに属している
・packageが指定されていない場合、デフォルトのpackageに属する
・関連するclassをpackageにまとめると開発の単位が明確になり管理しやすくなる、同一packageないからのアクセスのみ許可するなどの制限をかけられるといったメリットがある。
・package名の階層はディレクトリの階層に対応する
(java.util.ArrayList
はjava/util/ArrayList.class
に対応している)
classが属するpackageの指定方法
package java.lang;
java.lang
に属することを宣言している。
importとは
・本来classを一意に特定するためには、完全修飾名
で記述しなければならない。
※完全修飾名
=> package名を含めたto.java.code.sample.basic.Animalのような名前
・これを毎回記述せずに済むように、import命令を記述することでpackageを省略できる。
・import命令は一般的にpackage宣言の直後に記述する、らしい。
import と *
import java.util.*;
この指定により、java.utilの直下のディレクトリ階層を全て指定することができる。
2.メンバ変数
= インスタンスフィールド、インスタンス変数に同じ。
3. 基本データ型と参照型
大枠で捉えるとするなら、変数の種類を分類すると基本データ型
(=プリミティブ型
、値型
)と参照型
(=クラス型
)の2つに分けられる。
基本データ型とは
次の8種。
型 | メモリ領域 | 概要 |
---|---|---|
boolean | 1bit | true or false |
char | 16bit | Unicodeの一文字 |
byte | 8bit | 符号付き整数 -128~127 |
short | 16bit | 符号付き整数 -32768~32767 |
int | 32bit | 符号付き整数 -2147483648~2147483647 |
long | 64bit | 符号付き整数 約-922京~約922京 |
float | 32bit | 浮動小数点数 |
double | 64bit | 浮動小数点数 |
基本データ型の変数というのは、型によってその大きさ(bit数)がきっちり過不足無く決まっているということです。ということは、変数を宣言した時点でメモリ内のその変数の使用領域を過不足なく確保できるわけです。その決まった領域内に(その型の範囲内の値ならば)どんな値でも保持することができるんです。
参照元: https://nobuo-create.net/sanshougata/
・メモリに直接書き込まれる具体的なデータ値(数値や文字)を代入することができ、変数自体が値を持つ。
・参照型と異なりメソッドを持たない。
・全て小文字から始まる。
参照型とは
・基本データ型以外全てが参照型。
・配列やStringも参照型。
・参照型はオブジェクトを生成し、そのオブジェクトを参照するための値(=参照値)を変数に格納する。
参考URL: https://www.mlab.im.dendai.ac.jp/~yamada/java/reference/
4.定数
値の変更ができない変数。
final int COUNT = 4;
のように、先頭にfinal
をつけ、大文字で表記する。