ヤマムギ

growing hard days.

*

Java SE 7 Silver対策勉強をしながらメモ 2015/1/27

      2015/03/29


だんだんなんだか日記じみてきましたが、試験対策メモをいつものごとくマークダウンで記載したのでそのままJetpack Markdownにお任せでアップします。

ソースとクラス

  • 1ソースファイルにpublic指定クラスは1つのみ
  • そのソースファイル名はpublic指定クラスと同じ

Test.java – public指定クラスはないのでOK

Foo.java – Fooが同じ名前なのでOK

修飾子

クラスに使える修飾子

  • ただしfinalとabstractを同時に指定するとコンパイルエラー
修飾子 意味
public publicにするとグローバルスコープとなりすべてのパッケージ内のクラスから利用可能なクラスとして定義できる。
final 拡張による継承を禁止。そのクラスを元にしたサブクラスを定義できなくなる。
abstract 抽象クラス。サブクラスを定義するためのスーパークラスとして利用。
stricfp クラス内に記述した浮動小数点演算を厳密に評価する。プラットフォーム非依存の浮動小数点演算を行う。
アノテーション @Overrideなど開発者自身が型を定義する。
static クラスメンバ

メソッド宣言の修飾子

修飾子 意味
public アクセス制御
protected アクセス制御
private アクセス制御
abstract 抽象メソッド
final オーバーライド不可
static クラスメソッド
synchronized 同期のためのロック獲得。メソッドの処理中にオブジェクトをロックする。
native ネイティブメソッド
strictfp 浮動小数点演算を厳密に評価する。プラットフォーム非依存の浮動小数点演算を行う。

リテラル

整数リテラル

進数 説明
10進数 255 0から9までの10個の数字を使用して数を表現する
2進数 0b101 0と1の2つの数字を使用して数を表現する。先頭に0bを入れると2進数と判断される。bは大文字、小文字どちらでも可。
8進数 0377 0から7までの8個の数字を使用して数を表現する。先頭に0を入れると8進数と判断される。
16進数 0xff 0から9までの数字とAからF(もしくはaからf)までのアルファベットを使用して数を表現する。先頭に0xを入れると16進数と判断される。xは大文字、小文字どちらもで可。

識別子

  • 変数、クラス名、メソッド名
  • 1文字目は英字,$,_
  • 2文字目以降は数字も可
  • $,_以外の記号はNG
  • 予約語であっても大文字にすれば使用可能
  • 予約語は下記
abstract assert boolean break byte case
catch char class const continue default
do double else enum extends final
finally float for goto if implements
import instanceof int interface long native
new package private protected public return
short static strictfp super switch synchronized
this throw throws tranient try void
volatille while

ブロック

  • ありえないコードでも制約にそっていればOK
  • 下記は一見elseの書き忘れのようだがそうではなくて、ブロックは書けますよっていう問題なので、答えは全部出力される。

インスタンス変数

インスタンス変数(メンバ変数)とは

  • クラスから生成したオブジェクトが保持する変数
  • クラス内(メソッドの外側)で定義
  • static変数ではない

main()メソッド

  • 以下、構文に従った記述のためコンパイルは通るが一番下のメソッドの正しい定義の構文のみが実行される。
  • public とstaticは修飾子なのでどちらが先でも構わない
  • voidは戻り値なので修飾子より後
  • 引数は必ずStringの配列
  • 「コンパイルするため」「実行するため」の設問ひっかけに要注意!!!

パッケージ

  • java.langパッケージは暗黙的にインポートされているjavaの基本クラスのパッケージ
  • 同じパッケージ宣言をしているクラスはインポートしなくても良い
  • 階層化はクラス名の衝突を防ぐためのものでアクセス権などの関連付けには関係ない
  • クラス名をパッケージ名を含めた完全クラス名で指定すればインポートしなくても良い
  • java.*などというパッケージは存在しない

静的インポート

  • static変数、staticメソッドをクラス名を指定せずに使用するためのインポート機能
  • 構文
import static パッケージ名.クラス名.static変数名;
import static パッケージ名.クラス名.staticメソッド名;
import static パッケージ名.クラス名.*;


最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

 - Java, study , ,

ad

ad

  関連記事

Developers Summit 2018 「「技術内閣制度」2年間やってきて得られた事とこれから ~開発チーム横断での技術課題解決、技術力強化、エンジニア文化醸成」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

kintone Café 大阪 vol.11で登壇しました

kintone Café 大阪 vol.11「kintoneと色々つないでみる …

Alexa Day 2018にサポーターの中の人として(初)参加しました

2018/2/11に神戸三ノ宮のスペースアルファ三宮で開催されたAlexa Da …

Innovation EGG 第6回 『IoT 今と未来』に参加してきました

雨を心配していましたが、曇り空ながら雨はやんで、180名強の方が参加されたInn …

JAWS DAYS 2018の1日前に名古屋にいました「JAWS-UG名古屋 AWS勉強会 JAWS DAYS 2018前夜祭」

仕事の都合でJAWS DAYS 2018の前日は名古屋にいました。 宿泊地はお店 …

Developers Summit 2016 KANSAIに行ってきました

Developers Summit 2016 KANSAIに行ってきました。 熱 …

「AWS re:Invent報告会 by Yappli」で機械学習を始めてみようという気になった

YappliさんとSpeeeさん合同のre:Invent報告会におじゃましました …

久しぶりにMonotaROさんの話しを聞いて興奮した「MonotaRO Tech Talk #6 (大阪梅田オフィスオープン記念)」

エンジニア人生というか、普通に仕事に対する考え方とか、自分に大きな影響を与えてく …

DevLOVE関西「事業会社の現場を知ろう~モノタロウ編~」に行ってきました

目次 DevLOVE関西「事業会社の現場を知ろう~モノタロウ編~」改めて思った事 …

「JP_Stripes in Osaka Vol.2」でハンズオンをやりました

JP_Stripes大阪、早くも2回目の開催です。 自分が使ってみたいという目的 …