今回はStaticメソッド」と「new演算子」について。
##「Staticメソッド」について
staticとは「静的」を意味し、Javaのメソッドは必ず何かのクラスに属します。
-
インスタンスメソッド:インスタンスが持つメソッド、インスタンスが実行する
-
staticメソッド(クラスメソッド):クラスが持つメソッド、クラスが実行する
###staticメソッドの宣言の仕方
staticメソッドの宣言の仕方は、メソッド宣言での戻り値の前に “static” を付けるだけです。
- staticメソッド
アクセス修飾子(publicなど) static 型名 メソッド名(引数){}
- static変数
アクセス修飾子(publicなど) static 型名 変数名;
staticメソッドはその特徴としてnewを使わずに呼び出すことができます。
class StaticMethodSample1 {
// staticを付ければstaticメソッドになる
static void staticMethod() {
}
// staticを付けなければインスタンスメソッドになる
void instanceMethod() {
}
}
「new演算子」について
new演算子は、Javaのクラスをインスタンス化するために利用されます。
JavaScriptに限らずオブジェクト指向のプログラムは、
あらかじめ用意されている「オブジェクト」をそのまま扱うことはありません。
調べていたらわかりやすい例があったので参照
例えば、目的が違う「A」「B」という2つのプログラムがあったとします。
両方のプログラムがまったく同じ「オブジェクト」に対してデータを読み書きしてしまうと
お互いに干渉してしまって正しく動作しません!
「コピーをする」という行為がインスタンス化であり、コピーされた「オブジェクト」をインスタンスと呼ぶわけです。JavaScriptでは、このインスタンスを作成する役割を担っているのが「new演算子」ということです。
クラスをnew(インスタンスを作成)した時点でプログラム上でメモリが確保され、初めて使用できるようになります。
###標準で提供されているJavaScriptの組み込みオブジェクトについて
オブジェクト 内容
Array 配列を扱うための機能を提供する
String 文字列を扱うための機能を提供する
Boolean 真偽値を扱うための機能を提供する
Number 数値を扱うための機能を提供する
Function 関数を扱うための機能を提供する
Date 日付を扱うための機能を提供する
RegExp 正規表現を扱うための機能を提供する
Object オブジェクトを扱うための機能を提供する
new演算子の使い方は以下のとおりです。
new コンストラクタ;
new クラス名();