Help us understand the problem. What is going on with this article?

Java SE7 Gold 取得を目指して (3)

More than 3 years have passed since last update.

Java SE7 Gold をとりたい…!

本日は第3回目です。

今日のこぼれ話

そういえばなぜこの時期にGold勉強を始めたのかといいますと、今リテイク無料キャンペーン中なのです! (2016/1/22~2016/5/31)
http://www.oracle.com/jp/education/campaign-1898205-ja.html#20160122
つまり、5月31日までに対象の試験を受けて、万が一落ちてしまっても、同一の試験をもう一度無料で受けられるのです。(再受験は2016/7/31まで)
僕はOracleの回し者ではないですが(なれるものならなってみたいですが)、もし試験を受けてみたいと考えている方がいらっしゃいましたらいい機会なのではと思います。

本日知ったこと(3章)

  • ネストクラス

    • 非staticなネストクラスをインナークラスと呼ぶ
    • ネストクラスはアウタークラスのメンバの一部(特にアクセス修飾子を考えるときにこれを念頭におくと良さそう)
    • なのでこんなアクセスも可能
    class Outer
    {
      private int num1 = 10;
    
      class Inner {
        private int num2 = num1 + 1;
      }
    
      public static void main (String[] args) throws java.lang.Exception
      {
        System.out.print(new Outer().new Inner().num2);
      }
    }
    
    • staticなインナークラスをstaticクラスとか呼ぶらしいが、C#とは違うので new して使う。 Outer.StaticInner obj = new Outer().StaticInner()
    • this キーワードでの参照は内外クラスのスコープ通りで直感的。ネストクラスから外側クラスのthisに触りたい場合は Outer.this.val
  • ローカルクラス・匿名クラス

    • メソッド内で定義されたクラス
    • 外側クラスのメンバへのアクセスはJava8でLambda使うときと同じ
    ルール ローカルクラス 匿名クラス
    abstract, final 修飾子 ×
    コンストラクタ ×
    • 匿名クラスのインスタンス化は、Anony obj = new Annoy() { ... }; 最後のセミコロン必須。
    • インスタンス化後すぐメソッド使うなら new Anony() { ... }.method();

あまり見かけない構文を、なんでわざわざ章立てたんだろうと思いましたが(ページ数も少なめ)、Java8でのLambdaと結びついてくるからですかね。それとも見かけないのは僕の周りだけなんですかね。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした