Your SlideShare is downloading. ×
0
<Insert Picture Here>超入門!はじめてみようJavaプログラミング	日本オラクル株式会社オラクルユニバーシティ渋井俊昭
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するもので...
Agenda	•  Java って何?	•  	   基本的なJavaプログラムの作り方	   	•  キャンペーンのご案内	 	           Copyright© 2010, Oracle. All rights reserved. ...
Agenda	•  Java って何?	    •    Javaって何?	 	 	    •    Javaテクノロジー	    •    プログラミング言語としてのJava	    •    実行環境としてのJava	    •    開発...
Javaって何?	Java は、1995 年に Sun Microsystems から初めてリリースされたプログラミング言語およびコンピューティングプラットフォームです。ユーティリティ、ゲーム、ビジネスアプリケーションなど、最先端のプログラムの...
Javaって何?(つづき)	Java のダウンロードは無料ですか?はい、Java は無料でダウンロードできます。最新バージョンは、http://java.com で入手してください。		     この辺のページも                ...
Javaって何?	                                                         ここにも、あそこにも                                              ...
Javaテクノロジー	•  3つの側面を持つテクノロジー	 •  1)プログラミング言語	                            プログラミング言語	 •  2)プログラム実行環境(JRE) •  3)プログラム開発環境(JDK...
1)プログラミング言語(としてのJava)	 キーワード	                                                         オブジェクト指向�•    従来の言語のいいとこ取り	         ...
2)実行環境(としてのJava)	   キーワード	 JVM (Java Virtual Machine)	 •  プラットフォーム非依存(Write Once, Run Anywhere)	  ~他言語での開発~	              ...
2)実行環境(としてのJava)	Write Once, Run Anywhere のすごさ。	 開発会社	 プラットフォームが変わっても、プログラムを変更しなくて良い。	 →変更のためのプロジェクト、テストなどに莫大な出費をしなくて良い。 同...
3)開発環境(としてのJava)	    キーワード	 道具はそろっています	    Javaソースコード�        import java.util.*;	        public class Vehicle {
         ...
Javaの構成	•  JDK : Java Development Kit	•  JRE : Java Runtime Environment	                                                  ...
Javaの構成	2つの言葉を覚えましょう。	 •  JRE(Java Runtime Environment) じぇい・あーる・いー  •  Javaの実行環境(プログラムを動かす際に必要)    →ランタイムライブラリ       人が作った...
Javaのエディション	                     Java SE
       (Java Platform, Standard Edition)	   基本的な機能が入っています。スタータパックみたいなもの。	        ...
Javaの構成	•  Java SE: Java Platform, Standard Edition 	•  Java EE : Java Platform, Enterprise Edition	•  Java ME : Java Plat...
プログラムの作成手順	       Java ソースプログラム�                                      prompt> javac Hello.java	           ( Hello.java )� ...
簡単なプログラムの例	      Hello.java      1. class Hello {                           ←エディタでJavaプログラムを作成します。	      2.     public sta...
(補足)実際の開発	実際の開発では、	IDE:Integrated Development Environment (統合開発環境)	を利用して、効率の良い開発が行われます。(内部的にJDKのツールを利用)	                  ...
Agenda	•  Java って何?	•  基本的なJavaプログラムの作り方	 	 	 •    オブジェクト	   •     クラス	   •     Javaプログラムの構成	   •     クラス定義	   •     オブジェク...
オブジェクト	                                                        人間が物事を捕らえるのとキーワード	 オブジェクト指向	                               ...
クラス	    •  オブジェクトが持つ概念(属性や操作)を定義したもの    •  オブジェクトを作成するためのひな形(テンプレート)	                                                     ...
Javaプログラムの構成	•  Javaプログラムはクラスの集合で構成	  class クラス名 {                                                               クラス定義の始まり...
クラス定義	                                                                        実際のシステムでは、                                  ...
オブジェクト生成とアクセス	     1.  オブジェクトを生成し、参照するための変数に代入
           クラス名 参照変数名 = new クラス名( ); 	     2.  . (ドット)演算子を使用してアクセス
        ...
サンプル	 1. class Employee { 2.   // インスタンス変数の定義 3.   int empId;        // 社員ID 4.   String empName; // 社員名	 5. 6.   // メソッドの...
サンプル	18. class CreateSample {19.   public static void main(String[] args) {20.     Employee emp1 = new Employee(); // Empl...
メソッドのオーバーロード	•         同一クラス内に同名のメソッドを定義すること	•         オーバーロードのルール	     •     引数の数、型が異なっていること	 class Employee {
    int em...
サンプル	 1. class Employee { 2.   // インスタンス変数の宣言	 3.   int empId; 4.   String empName; 5.   // 引数を1つ取るsetData()メソッド	 6.   voi...
サンプル	20. class OverloadSample {21.   public static void main(String[] args) {22.     Employee emp1 = new Employee();23.   ...
オブジェクトの初期化	•    オブジェクト生成時に自動的に初期化	•    デフォルトの初期値		                 データ型                    	                              ...
コンストラクタ	•         オブジェクトを初期化するための処理ブロック	•         オブジェクト生成時に一度だけ呼び出される	•         定義ルール	     •    クラス名と同じ名前	     •    戻り値を持...
コンストラクタの呼び出し	 •      オブジェクト生成時に呼び出される
          new クラス名(引数リスト);                                                          ...
デフォルトコンストラクタ	コンストラクタは必ず必要	  しかし、開発者が書かないでいると、  コンパイル時に自動生成してくれます。	  このコンストラクタのことを  デフォルトコンストラクタ  といいます。	           Copyrig...
サンプル	 1. class Employee { 2.   // インスタンス変数の宣言	 3.   int empId; 4.   String empName; 5.   // 引数を1つ取るコンストラクタ	 6.   Employee(...
サンプル	20. class ConstSample {21.   public static void main(String[] args) {22.     // 引数を1つ取るコンストラクタの呼び出し
23.     Employee ...
カプセル化とデータ隠蔽	•    カプセル化とは
     オブジェクト内に属性(変数)とそれに対する操作(メソッ     ド)をひとつにまとめて持たせること	•    データ隠蔽
     あるオブジェクト内の変数やメソッドに対するアクセスを...
アクセス修飾子	•         データ隠蔽を実現するために使用する修飾子	     •    public : どこからでもアクセス可	     •    private :変数およびメソッドが定義されたクラス内の
            ...
サンプル	 1. class Employee { 2.   public int empId;        // public 変数	 3.   private String empName; // private 変数	 4. 5.   ...
サンプル	19. class AccessSample {20.   public static void main(String[] args) {21.      Employee emp1 = new Employee(1, "Tanak...
まとめ	 超入門!はじめてみようJavaプログラミング	    Java って何?	    基本的なJavaプログラムの作り方	参考URL	  Oracle Technology Network    http://www.oracle.com...
Agenda	•  Java って何?	•  基本的なJavaプログラムの作り方	   	•  	   キャンペーンのご案内	 	            Copyright© 2010, Oracle. All rights reserved....
Java認定資格が新しくなりました	            •  (Bronze) → Silver → Gold の積み上げ式に	                              任意	旧資格(~SE 6)	            ...
キャンペーンのご案内	•  3月末までのOCJP Silver SE 7 試験合格者の 成績上位20名様に無償受験チケットプレゼント!! •  詳しくはOracle University の キャンペーンページ をご確認ください。	      ...
Copyright© 2010, Oracle. All rights reserved.
Copyright© 2010, Oracle. All rights reserved.   46
Upcoming SlideShare
Loading in...5
×

Java Night Seminar for Java Begineers

1,687

Published on

This presentation explain the Java

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,687
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
25
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Java Night Seminar for Java Begineers"

  1. 1. <Insert Picture Here>超入門!はじめてみようJavaプログラミング 日本オラクル株式会社オラクルユニバーシティ渋井俊昭
  2. 2. 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。 Copyright© 2010, Oracle. All rights reserved. 2
  3. 3. Agenda •  Java って何? •  基本的なJavaプログラムの作り方 •  キャンペーンのご案内 Copyright© 2010, Oracle. All rights reserved. 3
  4. 4. Agenda •  Java って何? •  Javaって何? •  Javaテクノロジー •  プログラミング言語としてのJava •  実行環境としてのJava •  開発環境としてのJava •  Javaの構成 •  Javaのエディション •  プログラムの作成手順 •  基本的なJavaプログラムの作り方 •  キャンペーンのご案内 Copyright© 2010, Oracle. All rights reserved. 4
  5. 5. Javaって何? Java は、1995 年に Sun Microsystems から初めてリリースされたプログラミング言語およびコンピューティングプラットフォームです。ユーティリティ、ゲーム、ビジネスアプリケーションなど、最先端のプログラムの基礎となっているテクノロジです。Java は、世界中の 8 億 5000 万台を超える個人用コンピュータや、世界中の何十億台ものデバイス (モバイルデバイスや TV デバイスなど) で動作しています。 Java が必要なのはなぜですか?Java がインストールされていないと動作しないアプリケーションやWeb サイトが多数存在し、さらに毎日作成され続けています。Java は、高速、安全で、高い信頼性を持っています。ラップトップコンピュータやデータセンター、ゲームコンソールスーパーコンピュータ、携帯電話、インターネットにいたるあらゆる分野で使われています。 引用: http://www.java.com/ja/download/faq/whatis_java.xml Copyright© 2010, Oracle. All rights reserved. 5
  6. 6. Javaって何?(つづき) Java のダウンロードは無料ですか?はい、Java は無料でダウンロードできます。最新バージョンは、http://java.com で入手してください。 この辺のページも http://www.java.com/ja/ 見てみよう http://ja.wikipedia.org/wiki/Java Copyright© 2010, Oracle. All rights reserved. 6
  7. 7. Javaって何? ここにも、あそこにも Java Javaを知っているとIT分野での活躍の幅が 広がります。 Copyright© 2010, Oracle. All rights reserved. 7
  8. 8. Javaテクノロジー •  3つの側面を持つテクノロジー •  1)プログラミング言語 プログラミング言語 •  2)プログラム実行環境(JRE) •  3)プログラム開発環境(JDK) 1)プログラミング言語� 3)開発環境� 2)実行環境� プラットフォーム Copyright© 2010, Oracle. All rights reserved. 8
  9. 9. 1)プログラミング言語(としてのJava) キーワード オブジェクト指向�•  従来の言語のいいとこ取り オブジェクト�•  オブジェクト指向 属性� オブジェクト�•  豊富なAPI 操作� 属性� 操作� 操作�•  セキュリティ 従来のプログラミング� Java言語による� 豊富なAPI、ライブラリ群� 言語によるプログラム� プログラム� � 適用プログラムコード� 適用プログラムコード� � � ネット� ファイル� 日付� � ワーク� IO部品� 部品� 部品� メモリ管理用� � コード� � Java実行環境� � � メモリ管理� GUI セキュ� 通貨� � � リソース管理用� 部品� リティ� 部品� � � コード� リソース管理� 部品� � Copyright© 2010, Oracle. All rights reserved. 9
  10. 10. 2)実行環境(としてのJava) キーワード JVM (Java Virtual Machine) •  プラットフォーム非依存(Write Once, Run Anywhere) ~他言語での開発~ ~ Javaでの開発~ ソースプログラム� 移植できない ソースプログラム� 移植できる Windows用のプログラムは プラットフォームの違いは コンパイル� コンパイル� JVMが吸収してくれる × Linux上では動かない アプリケーション� (マシンコード)� アプリケーション� (マシンコード)� Javaアプリケーション� (バイトコード)� JRE(JVM) ○ Javaアプリケーション� (バイトコード)� JRE(JVM) プラットフォームB� プラットフォームA� � プラットフォームB� プラットフォームA� Windows� Linux� Copyright© 2010, Oracle. All rights reserved. 10
  11. 11. 2)実行環境(としてのJava) Write Once, Run Anywhere のすごさ。 開発会社 プラットフォームが変わっても、プログラムを変更しなくて良い。 →変更のためのプロジェクト、テストなどに莫大な出費をしなくて良い。 同じアプリケーションを様々なお客様へ展開できる。 →販売効率の向上 H/W, OSに依存した開発者を育成しなくて良い。 → アプリケーションを、Windows, Linux, HP-UX, AIX等様々な環境で   動くようにするため重複した人財が必要 顧客 H/W, OSメーカが無くなっても、既存資産をそのまま他のOS上に移せばOK。 → ベンダー依存リスクの低減 もっと早い環境が出てきたときに、すぐに乗り換えられる。 →より効果的な環境への変更が従来より容易 Copyright© 2010, Oracle. All rights reserved. 11
  12. 12. 3)開発環境(としてのJava) キーワード 道具はそろっています Javaソースコード� import java.util.*; public class Vehicle {
 コンパイル� String id ;
 int price ;
 Java int sales [ ] ;
 
 アプリケーション� totalSales ( ) {
 ・・・� } � ドキュメントジェネレータ� ( javadoc.exe )� コンパイラ� ( javac.exe )� インタプリタ� ( java.exe )� デバッガ� ( jdb.exe )� Java開発環境� 実行� デバッグ実行� JRE(JVM)�API ドキュメント�( HTML 形式)� � プラットフォーム� Copyright© 2010, Oracle. All rights reserved. 12
  13. 13. Javaの構成 •  JDK : Java Development Kit •  JRE : Java Runtime Environment JDK•  JVM : Java Virtual Machine JRE JVM Java APIを含む� 開発ツールを含む� (javac,javadoc等)� Copyright© 2010, Oracle. All rights reserved. 13
  14. 14. Javaの構成 2つの言葉を覚えましょう。 •  JRE(Java Runtime Environment) じぇい・あーる・いー •  Javaの実行環境(プログラムを動かす際に必要)   →ランタイムライブラリ 人が作ったプログラムを動かすなら JREをダウンロードしよう! • JDK(Java Development Kit) じぇい・でぃー・けー     Javaの開発環境(プログラムを開発する際に必要)  →開発のためのツール(コンパイラ、ソース、ドキュメント)   が含まれている。  →JREも含まれている。(開発時に実行するので) これから開発を行うときはJDKをダウンロードしよう! Copyright© 2010, Oracle. All rights reserved. 14
  15. 15. Javaのエディション Java SE
 (Java Platform, Standard Edition) 基本的な機能が入っています。スタータパックみたいなもの。 Java EE
 (Java Platform, Enterprise Edition) 企業システム・業務アプリケーションに必要な部品集。 アプリケーションサーバにはこれが付いてきます。 Java ME
 (Java Platform, Micro Edition)� 携帯電話、テレビなどでJavaを使えるようにしたミニセット。 組み込み機器などで利用されます。 Copyright© 2010, Oracle. All rights reserved. 15
  16. 16. Javaの構成 •  Java SE: Java Platform, Standard Edition •  Java EE : Java Platform, Enterprise Edition •  Java ME : Java Platform, Micro Edition Java EE ビジネス向け部品 JDK JRE Java SE JVM Java APIを含む� 開発ツールを含む� (javac,javadoc等)� Copyright© 2010, Oracle. All rights reserved. 16
  17. 17. プログラムの作成手順 Java ソースプログラム� prompt> javac Hello.java ( Hello.java )� public class Hello { � ディスク� public static void � main(String[ ] args) { プログラムの実行 System.out.println("
 � クラスファイル( Hello.class )� � Hello Java!!");; ライブラリ� ・・・� } ②コンパイル� �� 00FF 01AF 001E 00BF 開発者� ①プログラム� } FF01 047A 0BBD FF03 � � 作成� � 中間コード ③ プログラム起動� Helloクラス� � ロード� � Mainクラス� ��00FF 01AF 001E 00BF ��FF01 047A 0BBD FF03 Nativeコードに逐次 JVM 変換しながら実行 �OS OS クラスがロードされ� プログラム実行� Copyright© 2010, Oracle. All rights reserved. 17
  18. 18. 簡単なプログラムの例 Hello.java 1. class Hello { ←エディタでJavaプログラムを作成します。 2. public static void main(String[] args) { ① 3. 4. 5. } } System.out.println("Hello Java!!"); ※豆知識1:ファイル名とクラス名は大文字小文字含めて一致。 ※豆知識2:Java言語は大文字小文字を厳格に区別します。② > javac Hello.java ←コンパイルします。 > dir 2011/02/24 11:02 416 Hello.class ←.java から .classが 2011/02/24 11:00 107 Hello.java   作成されました。 ③ > java Hello Hello Java!! ←クラスファイルを実行して結果が表示されました。 Copyright© 2010, Oracle. All rights reserved. 18
  19. 19. (補足)実際の開発 実際の開発では、 IDE:Integrated Development Environment (統合開発環境) を利用して、効率の良い開発が行われます。(内部的にJDKのツールを利用) ねこびーん Netbeans http://ja.netbeans.org/ http://www.eclipse.org/ Eclipse http://mergedoc.sourceforge.jp/ http://www.oracle.com/technetwork/jp/developer- JDeveloper tools/jdev/overview/index.html Copyright© 2010, Oracle. All rights reserved. 19
  20. 20. Agenda •  Java って何? •  基本的なJavaプログラムの作り方 •  オブジェクト •  クラス •  Javaプログラムの構成 •  クラス定義 •  オブジェクト生成とアクセス •  メソッドのオーバーロード •  オブジェクトの初期化 •  コンストラクタ •  カプセル化とデータ隠蔽 •  アクセス修飾子 •  キャンペーンのご案内 Copyright© 2010, Oracle. All rights reserved. 20
  21. 21. オブジェクト 人間が物事を捕らえるのとキーワード オブジェクト指向 同じように設計でき、 その概念のままプログラムに 表現することが出来る。 •  オブジェクト=Object=「もの」 •  オブジェクトの種類 •  実在するもの : 車、自転車、ノート、パソコン etc. 社員オブジェクト •  概念的なもの : 社員、銀行口座 etc. 社員ID 1001 •  オブジェクトが持つもの 社員名 属性
 山田 (変数) •  属性:特性、状態を表す(変数) •  操作:動作、ふるまいを表す(メソッド) 社員IDを取得する 操作
 社員IDを設定する (メソッド) Copyright© 2010, Oracle. All rights reserved. 21
  22. 22. クラス •  オブジェクトが持つ概念(属性や操作)を定義したもの •  オブジェクトを作成するためのひな形(テンプレート) 社員という概念は 社員クラス class 社員 {
 こう定義しますよ。 田中さんは、具体的には 社員ID
 社員名
 鈴木さんは、具体的にはこういう社員です。 
 社員IDを設定する
 こういう社員です。 社員IDを取得する
 インスタンス化 インスタンス化 社員名を設定する
 社員名を取得する
 suzuki社員
tanaka社員
 } オブジェクト オブジェクト 社員ID 1 社員ID 2 属性(変数) 属性(変数) 社員名 tanaka 社員名 suzuki 社員IDを取得する 社員IDを取得する 操作(メソッド) 操作(メソッド) 社員IDを設定する 社員IDを設定する クラス(ひな形)に具体的な情報を入れて、オブジェクト(実体)を作ることを「インスタンス化」という。 Copyright© 2010, Oracle. All rights reserved. 22
  23. 23. Javaプログラムの構成 •  Javaプログラムはクラスの集合で構成 class クラス名 { クラス定義の始まり 属性(変数) 操作(メソッド) } クラス定義の終わり class クラス名 { クラス定義の始まり public static void main(String[ ] args) { // 処理内容 main()メソッドの定義 } } クラス定義の終わり Copyright© 2010, Oracle. All rights reserved. 23
  24. 24. クラス定義 実際のシステムでは、 クラスをたくさん作り •  クラスという単位でプログラムを作成 ます。 •  クラスとは独自のデータ型のようなもの 例: class クラス名 { class Employee { // インスタンス変数の定義
 int empId; // インスタンス変数の定義
 [修飾子] データ型 インスタンス変数名; // メソッドの定義
 int getEmpId() { return empId; // メソッドの定義
 } [修飾子] 戻り値の型 メソッド名(引数リスト) {     // 処理内容
 void setEmpId(int id) { } empId = id; }} } Copyright© 2010, Oracle. All rights reserved. 24
  25. 25. オブジェクト生成とアクセス 1.  オブジェクトを生成し、参照するための変数に代入
   クラス名 参照変数名 = new クラス名( );  2.  . (ドット)演算子を使用してアクセス
   参照変数名.インスタンス変数名
 参照変数名.メソッド名( )class Employee { // インスタンス変数の定義
 「new」はクラスから int empId; オブジェクトを作り出 //メソッド定義
 int getEmpId() { return empId; } すおまじない }class UseEmployee { public static void main(String[ ] args) { // オブジェクトの生成
 int empId Employee emp = new Employee(); //変数へアクセス(参照変数名.変数名) 
 emp.empId = 1; getEmpId( ) { //メソッドへアクセス(参照変数名.メソッド名) 
 return empId;  int id = emp.getEmpId(); } }} 戻り値: 1 emp Copyright© 2010, Oracle. All rights reserved. 25
  26. 26. サンプル 1. class Employee { 2. // インスタンス変数の定義 3. int empId; // 社員ID 4. String empName; // 社員名 5. 6. // メソッドの定義 7. void setData(int id, String name) { //インスタンス変数に値を設定するメソッド 8. empId = id; 9. empName = name;10. }11. int getEmpId() { // 社員IDを取得するメソッド 12. return empId;13. }14. String getEmpName(){ // 社員名を取得するメソッド 15. return empName;16. }17. } Copyright© 2010, Oracle. All rights reserved. 26
  27. 27. サンプル 18. class CreateSample {19. public static void main(String[] args) {20. Employee emp1 = new Employee(); // Employeeオブジェクトの生成 21. emp1.setData(1, "Tanaka"); // setData()メソッドの呼び出し 22. System.out.println("Employee ID : " + emp1.getEmpId());23. System.out.println("Employee Name : " + emp1.getEmpName());24.25. Employee emp2 = new Employee(); // Employeeオブジェクトの生成26. emp2.setData(2, "Suzuki"); // setData()メソッドの呼び出し 27. System.out.println("Employee ID : " + emp2.getEmpId());28. System.out.println("Employee Name : " + emp2.getEmpName());29. }30. }> java CreateSampleEmployee ID : 1Employee Name : TanakaEmployee ID : 2Employee Name : Suzuki Copyright© 2010, Oracle. All rights reserved. 27
  28. 28. メソッドのオーバーロード •  同一クラス内に同名のメソッドを定義すること •  オーバーロードのルール •  引数の数、型が異なっていること class Employee {
 int empId;
 String name;
 //引数を取らないsetData()メソッド
 void setData() { empId = 100; }
 // 引数を1つ取るsetData()メソッド
 void setData(int id) { empID = id; }
 :
 } setData( ) { empId = 100; } class UseEmployee {
 :
 setData(int id) { empId = id; } // オブジェクトの生成
 Employee emp = new Employee();
 // メソッド呼び出し
 emp.setData( );
 emp.setData(1); 
 emp } Copyright© 2010, Oracle. All rights reserved. 28
  29. 29. サンプル 1. class Employee { 2. // インスタンス変数の宣言 3. int empId; 4. String empName; 5. // 引数を1つ取るsetData()メソッド 6. void setData(int id) { 7. empId = id; 8. empName = "unknown"; 9. }10. // 引数を2つ取るsetData()メソッド 11. void setData(int id, String name) {12. empId = id;13. empName = name;14. }15. void display() {16. System.out.println("Employee ID : " + empId);17. System.out.println("Employee Name : " + empName);18. }19. } Copyright© 2010, Oracle. All rights reserved. 29
  30. 30. サンプル 20. class OverloadSample {21. public static void main(String[] args) {22. Employee emp1 = new Employee();23. emp1.setData(1); // 引数を1つ取るsetData()メソッドの呼び出し 24. emp1.display();25.26. Employee emp2 = new Employee();27. emp2.setData(2, "Suzuki"); // 引数を2つ取るsetData()メソッドの呼び出し 28. emp2.display();29. }30. }> java OverloadSampleEmployee ID : 1Employee Name : unknownEmployee ID : 2Employee Name : Suzuki Copyright© 2010, Oracle. All rights reserved. 30
  31. 31. オブジェクトの初期化 •  オブジェクト生成時に自動的に初期化 •  デフォルトの初期値 データ型 初期値 byte 0 short 0 int 0 long 0 float 0.0f double 0.0d char u0000 boolean false 参照型 null Copyright© 2010, Oracle. All rights reserved. 31
  32. 32. コンストラクタ •  オブジェクトを初期化するための処理ブロック •  オブジェクト生成時に一度だけ呼び出される •  定義ルール •  クラス名と同じ名前 •  戻り値を持たない(戻り値の型宣言もなし) •  引数を持つことが可能 •  オーバーロード可能 
 Employee() { empId = 100; } // 引数を取らないコンストラクタ
 Employee(int id) { empId = id; } //引数を1つ取るコンストラクタ Copyright© 2010, Oracle. All rights reserved. 32
  33. 33. コンストラクタの呼び出し •  オブジェクト生成時に呼び出される
   new クラス名(引数リスト); int empId 100class Employee {
 int empId;
 Employee() { empId = 100; } //コンストラクタ
 emp Employee() { empId = 100; }
 Employee(int id) { empId = id; } Employee(int id) { empId = id; } ;
  }
} class UseEmployee {
 :
 int empId 101 // コンストラクタ呼び出し
 Employee emp = new Employee();
 Employee() { empId = 100; } Employee emp2 = new Employee(101);
 :
 Employee(int id) { empId = id; }} emp2 Copyright© 2010, Oracle. All rights reserved. 33
  34. 34. デフォルトコンストラクタ コンストラクタは必ず必要 しかし、開発者が書かないでいると、 コンパイル時に自動生成してくれます。 このコンストラクタのことを デフォルトコンストラクタ といいます。 Copyright© 2010, Oracle. All rights reserved. 34
  35. 35. サンプル 1. class Employee { 2. // インスタンス変数の宣言 3. int empId; 4. String empName; 5. // 引数を1つ取るコンストラクタ 6. Employee(int id) { 7. empId = id; 8. empName = "unknown"; 9. }10. // 引数を2つ取るコンストラクタ 11. Employee(int id, String name) {12. empId = id;13. empName = name;14. }15. void display() {16. System.out.println("Employee ID : " + empId);17. System.out.println("Employee Name : " + empName);18. }19. } Copyright© 2010, Oracle. All rights reserved. 35
  36. 36. サンプル 20. class ConstSample {21. public static void main(String[] args) {22. // 引数を1つ取るコンストラクタの呼び出し
23. Employee emp1 = new Employee(1);24. emp1.display();25.26. // 引数を2つ取るコンストラクタの呼び出し
27. Employee emp2 = new Employee(2, "Suzuki");28. emp2.display();29. }30. }> java ConstSampleEmployee ID : 1Employee Name : unknownEmployee ID : 2Employee Name : Suzuki Copyright© 2010, Oracle. All rights reserved. 36
  37. 37. カプセル化とデータ隠蔽 •  カプセル化とは
 オブジェクト内に属性(変数)とそれに対する操作(メソッ ド)をひとつにまとめて持たせること •  データ隠蔽
 あるオブジェクト内の変数やメソッドに対するアクセスを 制限すること アクセス拒否 非公開 社員ID特定のメソッドから 社員IDを取得する アクセス可能 公開 しか操作できない。だから、安全! 社員IDを設定する アクセス可能 Copyright© 2010, Oracle. All rights reserved. 37
  38. 38. アクセス修飾子 •  データ隠蔽を実現するために使用する修飾子 •  public : どこからでもアクセス可 •  private :変数およびメソッドが定義されたクラス内の
      メソッドからのみアクセス可能 private int empId emp.empId = 1; // NG public setEmpId(int id) { emp.setEmpd(1) ; // OK empId = id; } emp Copyright© 2010, Oracle. All rights reserved. 38
  39. 39. サンプル 1. class Employee { 2. public int empId; // public 変数 3. private String empName; // private 変数 4. 5. public Employee(int id, String name) { 6. empId = id; 7. empName = name; 8. } 9.10. public int getEmpId() {11. return empId;12. }13.14. public String getEmpName() {15. return empName;16. }17.18. } Copyright© 2010, Oracle. All rights reserved. 39
  40. 40. サンプル 19. class AccessSample {20. public static void main(String[] args) {21. Employee emp1 = new Employee(1, "Tanaka");22.23. // インスタンス変数の適切な取得方法 24. System.out.println("Employee ID : " + emp1.getEmpId());25. System.out.println("Employee Name : " + emp1.getEmpName());26.27. // エラーにはならないが、不適切な取得方法 28. System.out.println("Employee ID : " + emp1.empId);29.30. // private 変数にアクセスしているため、コンパイルエラー 31. // System.out.println("Employee Name : " + emp1.empName);32. }33. }> java AccessSampleEmployee ID : 1Employee Name : TanakaEmployee ID : 1 Copyright© 2010, Oracle. All rights reserved. 40
  41. 41. まとめ 超入門!はじめてみようJavaプログラミング Java って何? 基本的なJavaプログラムの作り方 参考URL Oracle Technology Network http://www.oracle.com/technetwork/jp/index.html Oracle Technology Network の Javaに関する情報 http://www.oracle.com/technetwork/jp/java/index.html Copyright© 2010, Oracle. All rights reserved. 41
  42. 42. Agenda •  Java って何? •  基本的なJavaプログラムの作り方 •  キャンペーンのご案内 Copyright© 2010, Oracle. All rights reserved. 42
  43. 43. Java認定資格が新しくなりました •  (Bronze) → Silver → Gold の積み上げ式に 任意 旧資格(~SE 6) 移行可能!! 任意 必須 新資格(SE 7~) Bronze, Silverどちら からでもスタート可能 Copyright© 2010, Oracle. All rights reserved.
  44. 44. キャンペーンのご案内 •  3月末までのOCJP Silver SE 7 試験合格者の 成績上位20名様に無償受験チケットプレゼント!! •  詳しくはOracle University の キャンペーンページ をご確認ください。 Copyright© 2010, Oracle. All rights reserved.
  45. 45. Copyright© 2010, Oracle. All rights reserved.
  46. 46. Copyright© 2010, Oracle. All rights reserved. 46
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×