【Java】勉強 – 要点整理ノート static へのアクセス、インスタンス生成 等について – 7月下旬

EngineeringJava, 備忘録, 職業訓練

【Java】勉強 – 要点整理ノート static へのアクセス、インスタンス生成 等について – 7月下旬

Microsoft コードページ 932(CP932):マイクロソフト及び、MS-DOSのOEMベンダがShift_JISを独自に拡張した文字コード。

1G=10憶

BigDecimal sum = new BigDecimal(“0.00”);

・int r = new java.util.Random().nextInt();  発生範囲ではなく、必要な数は何種類あるかを考える。

・String input = new java.util.Scanner(System.in).nextLine;

・int input = new java.util.Scanner(System.in).nextLine;

・int n = Integer.parseInt();

・int m = Math.max( , );

・二乗「²」

・signature = method名、arguments

 

・【メンバ 2種】

インスタンスメンバ  - インスタンス変数   インスタンスメソッド

staticメンバ  - static変数   staticメソッド

コマンドライン引数で渡された値をString型の配列で取得する。

 

・【ArrayListクラスの主なメソッド】

boolean add(E e) リストの最後に指定された要素を追加する

E get(int index) リスト内の指定された位置にある要素を返す

void add(int index, E e) 指定した位置に指定された要素を追加

int size() リスト内にある要素の数を返す

・【ArrayList クラスのインスタンス化コード】は、主に3パターン。

ArrayList<String> array = new ArrayList<String>();

ArrayList<String> array = new ArrayList<>();

ArrayList array = new ArrayList();

・クラス宣言時、extends の後に指定できるクラスは単一継承のため1つのみ。extends 記載なければ java.lang.Object クラスを継承。

 

・【オーバーライド】 スーパークラスで定義されたメソッドをサブクラスで再定義。

メソッド名、引数リストが全く同じメソッドをサブクラスで定義する。

戻り値はスーパークラスと同じものか、その戻り値に継承関係がありサブクラスであれば使用可能。(戻り値を返さないスーパークラスを、戻り値を返すメソッドとしてオーバーライドはできない)

アクセス修飾子はスーパークラスと同じものかそれよりも公開範囲が広いものであれば使用可能。

public > protected > デフォルト > private

 

・【抽象クラス – abstract class】

クラス宣言で abstract

具象メソッドと抽象methodを混在

インスタンス化はできない。使用する場合はサブクラスを利用する。サブクラスが具象クラスの場合、抽象メソッドを必ず実装。オーバーライドする。

abstract void method (String s, int a); etc.

・【抽象メソッド – abstract method】

メソッド宣言で abstract

処理を持たないため、メソッド名() の後に { } を記述せず「;」セミコロンで終わる。

直接呼び出すことはできない。

 

 


Java

・【自分で作るとき 起承転結 ~】 ↓の区分で書く。

前準備 やや必要 ②
値を入力 あればやる ②
計算する やや必要 ③
値を出力 絶対要 ①
後片付け あればやる ④

◆生産性の差 慣れた人と慣れてない人 最大25倍 統計値

・プログラムの柔軟性 ← 1発で決めるには? が命題。
・プログラムの雛形をクラウドに取っておく。
・名前 実態が複数なら名前も複数形を使う。

 


②Hero h = ①new Hero();

①Heroクラスを持ってくる
インスタンスの中に入れるもの(フィールドとメソッド)を探す
Hero型インスタンス  Hero@アドレス
②参照変数hにHero@アドレスを設定する

・ String str = “ba”;
String name = “ba”;  たまに同じインスタンスになる。中間言語を調べて初めて分かった。コンパイラのせい(最適化オプティマイズがきつすぎるとこうなる。サンマイクロシステムズ時代の話)。それでも下記は非推奨ではある。
String name = new Srting(“pa”);
String name = new Srting(“pa”);

 

 


・System.exit(0) → main method を終了させる。
・java.util.Scanner scanner = new java.util.Scanner(System.in);
・jva.util Random random = new java.util.Random(); → random.nextInt(100);  型の一致
・単語の最後尾 Ctrl + space → 参照項目がでる → enter → import文が挿入される!

 

・Hero( ) { }
・Hero ( ) { this.hp = 100; }
・Hero ( String name ) { this.hp = 100; this.name = name; }
・F5:ClassLoader クラスを持ってくる HDからメモリーへ持ってくる(Eclipse)
・F6:ClassLoader 終了。 → F5~ (Eclipse)

 

・public static void add(int a, int b){ この時点でコンパエラー

・static → Heroクラス(インスタンスではない)のロード → 「this」このインスタンスの、という意味。

 

クラス名.静的フィールド名 静的フィールドへのアクセス方法
クラス名.参照変数 の書き方は非推奨!

◆参照変数の態:Hero@アドレス

 

・package パッケージ名
import パッケージ名.クラス名
import static  ~ static変数名;
import static  ~ staticメソッド名;
import static .*;

 


EngineeringJava, 備忘録, 職業訓練

Posted by Qawai