JAVAのお勉強-その11.2-
・JAVAアプレットによる画像の表示
(ⅰ):getImage( )メソッドで画像の取得をする
(ⅱ):drawImage( )メソッドでそれを表示する
あり、init( )メソッド内に記述する。
⇒drawImage( )メソッドによる画像の表示はpaint( )メソッド内で
行う。
⇒thisは、画像表示の進捗管理をする(イメージオブサーバ)
設定で、それを自分自身に設定する。
・ボタンの使用
⇒ボタンクリックで実行させたい記述は、actionPerformed( )
メソッド内に行う。
⇒actionPerformed( )メソッドを記述するために「implements
ActionListener」という記述が必要。
⇒上記を、"ActionListenerインタフェースを実装する"と表現。
その他の細かい事は、参考書を参考してw。( ´,_ノ`)y━・~~~
(ⅰ):getImage( )メソッドで画像の取得をする
(ⅱ):drawImage( )メソッドでそれを表示する
[例]:画像表示
import java.applet.Applet;
import java.awt.*;
public class Draw extends Applet {
Image img;
public void init( ) {
img = getImage(getDocumentBase( ),"kuma.gif");
}
public void paint(Graphics g) {
g.drawImage(img, 10, 10, this);
}
}⇒getImage( )メソッドによる画像の取得は、1回だけ行うものであり、init( )メソッド内に記述する。
⇒drawImage( )メソッドによる画像の表示はpaint( )メソッド内で
行う。
⇒thisは、画像表示の進捗管理をする(イメージオブサーバ)
設定で、それを自分自身に設定する。
・ボタンの使用
⇒ボタンクリックで実行させたい記述は、actionPerformed( )
メソッド内に行う。
⇒actionPerformed( )メソッドを記述するために「implements
ActionListener」という記述が必要。
⇒上記を、"ActionListenerインタフェースを実装する"と表現。
その他の細かい事は、参考書を参考してw。( ´,_ノ`)y━・~~~
JAVAのお勉強-その11.1-
第14章:JAVAアプレット
アプレットの記述方法を以下で述べていきます。( ´,_ノ`)y━・~~~
⇒アプレットプログラムには、main( )メソッドは不要。
⇒5~7行目のようにpaint( )メソッドによって、表示させたい内容
を記述する。
⇒paint( )メソッドには、画面描画用の機能を持つGraphicsクラスの
オブジェクトが渡され、この変数gを使い、具体的に描画指定する。
・アプレットを表示させるには・・・
(ⅰ):HTMLファイルを記述する
⇒Appletコードのみが重要。
(ⅱ):JAVAプログラムにAppletタグを埋め込む
⇒コンパイル時にHTMLタグは無視されるから大丈夫
明日に画像の表示(p.175以降)以降をお勉強予定。。。
アプレットの記述方法を以下で述べていきます。( ´,_ノ`)y━・~~~
import java.applet.Applet;
import java.awt.Graphics;
public class Apli1 extends Applet {
public void paint (Graphics g) {
g.drawString("NEET!",30,40);
}
}⇒まずアプレットプログラムは4行目のようにAppletクラスを継承。⇒アプレットプログラムには、main( )メソッドは不要。
⇒5~7行目のようにpaint( )メソッドによって、表示させたい内容
を記述する。
⇒paint( )メソッドには、画面描画用の機能を持つGraphicsクラスの
オブジェクトが渡され、この変数gを使い、具体的に描画指定する。
・アプレットを表示させるには・・・
(ⅰ):HTMLファイルを記述する
⇒Appletコードのみが重要。
(ⅱ):JAVAプログラムにAppletタグを埋め込む
⇒コンパイル時にHTMLタグは無視されるから大丈夫
明日に画像の表示(p.175以降)以降をお勉強予定。。。
JAVAのお勉強-その10.3-
・メンバの継承その1(public属性)
⇒すでに作成されたクラスがある時、これを流用し、機能を追加
して使うという概念。
[例]:クラス継承の記述
class B extends A {
(追加する記述)
}
⇒「Aを継承したB」
⇒作成したBにAの全メンバが含まれる。
・スーパークラス
⇒継承の元になるクラス(便宜的に、親クラスとも言う)。
・サブクラス
⇒継承して作成される新しいクラス
・メンバの継承その2(private属性)
⇒サブクラスからはスーパークラスのprivateメンバをアクセス
できない。
⇒privateである変数を記述した時は、それに対応するpublicで
あるメソッドを用意する。
・メンバの継承その3(protected属性)
⇒サブクラスにはアクセスを許可するが、他パッケージのクラス
にはアクセスを許可しない。
・継承とコンストラクタ
⇒クラスを継承する場合も、サブクラス内で独自にコンストラクタを
設定でき、この時、サブクラス内から、スーパークラスのコンストラ
クタを呼び出す事ができる。
・スーパークラスのコンストラクタ呼び出し
super(引数ならび);
・クラス間のオーバーロード
⇒<赤スーパークラス>とサブクラス間に、"名前が同じで引数
構成が異なるメソッド"がある場合に起こる。
・クラス間のオーバーライド(上書き定義)
⇒<赤スーパークラス>とサブクラス間に、"名前も引数構成も
全く同一のメソッド"がある場合に起こる。
⇒引数構成が同じなので識別できないため、サブクラスのものを
実行する。
⇒結局、メソッドの内容を上書きしてしまう効果がある。
⇒すでに作成されたクラスがある時、これを流用し、機能を追加
して使うという概念。
[例]:クラス継承の記述
class B extends A {
(追加する記述)
}
⇒「Aを継承したB」
⇒作成したBにAの全メンバが含まれる。
・スーパークラス
⇒継承の元になるクラス(便宜的に、親クラスとも言う)。
・サブクラス
⇒継承して作成される新しいクラス
・メンバの継承その2(private属性)
⇒サブクラスからはスーパークラスのprivateメンバをアクセス
できない。
⇒privateである変数を記述した時は、それに対応するpublicで
あるメソッドを用意する。
・メンバの継承その3(protected属性)
⇒サブクラスにはアクセスを許可するが、他パッケージのクラス
にはアクセスを許可しない。
・継承とコンストラクタ
⇒クラスを継承する場合も、サブクラス内で独自にコンストラクタを
設定でき、この時、サブクラス内から、スーパークラスのコンストラ
クタを呼び出す事ができる。
・スーパークラスのコンストラクタ呼び出し
super(引数ならび);
・クラス間のオーバーロード
⇒<赤スーパークラス>とサブクラス間に、"名前が同じで引数
構成が異なるメソッド"がある場合に起こる。
・クラス間のオーバーライド(上書き定義)
⇒<赤スーパークラス>とサブクラス間に、"名前も引数構成も
全く同一のメソッド"がある場合に起こる。
⇒引数構成が同じなので識別できないため、サブクラスのものを
実行する。
⇒結局、メソッドの内容を上書きしてしまう効果がある。
JAVAのお勉強-その10.2-
・単純なメンバの記述方法
「ある定数値を知る」,「ある値の演算結果を得る」などの場合、、、
クラス型の変数を宣言することなく、
クラス名.○○○
のように直接、クラスのメンバを利用する方が簡単!
・static
⇒インスタンスが無くてもクラスから直接利用することができる。
⇒static宣言されたフィールド・メソッドは各々クラスフィールド
・クラスメソッド(両者合わせてクラスメンバと呼ぶ)になるため。
⇒従来の普通のメンバは、インスタンスメンバと呼ぶ。
⇒クラスのインスタンス(オブジェクト)を作成して、そのインスタ
ンス名で指定する(インスタンス名.○○○で指定)メンバだから。
[ルール]
・クラスメソッドの中からインスタンス変数を操作できない。
・staticのついたメソッドからはstaticのついた変数しか操作
できない。
・クラス変数は全体で一つしか用意されない。
「ある定数値を知る」,「ある値の演算結果を得る」などの場合、、、
クラス型の変数を宣言することなく、
クラス名.○○○
のように直接、クラスのメンバを利用する方が簡単!
・static
⇒インスタンスが無くてもクラスから直接利用することができる。
⇒static宣言されたフィールド・メソッドは各々クラスフィールド
・クラスメソッド(両者合わせてクラスメンバと呼ぶ)になるため。
⇒従来の普通のメンバは、インスタンスメンバと呼ぶ。
⇒クラスのインスタンス(オブジェクト)を作成して、そのインスタ
ンス名で指定する(インスタンス名.○○○で指定)メンバだから。
[ルール]
・クラスメソッドの中からインスタンス変数を操作できない。
・staticのついたメソッドからはstaticのついた変数しか操作
できない。
・クラス変数は全体で一つしか用意されない。
JAVAのお勉強-その10.1-
第13章:クラスの記述
クラスは、処理目的ごとに機能をまとめることで構成される。
つまり、必要なデータを宣言し、そのデータを操作するため
のコードを用意する。
⇒データは「フィールド」、コードは「メソッド」で各々管理される。
・メンバ
⇒クラスに宣言されたフィールドとメソッドのこと。
・フィールド
⇒クラスに直接宣言された変数。メンバの構成要素であること
から、メンバ変数と呼ばれることもある。
・アクセス修飾詞
⇒他方のクラスからアクセスできるか否かを指定する。
(ⅰ):private修飾詞
⇒安全のため、他方からのアクセスを許可しない。
(ⅱ):public修飾詞
⇒便宜のため、他方からのアクセスを許可する。
クラスを利用するには?
⇒基本データ型と同様に変数宣言をしてから、new演算子で
クラス実体を生成して利用する。
⇒上記を"クラスのインスタンスを生成する"と表現する。
[記述例1]:変数宣言とインスタンス生成
クラス名 dt = new クラス名( );
[記述例2]:メンバの指定
dt.getoh = 20; //変数を指定して代入
dt.kuma( ); //メソッドを指定して実行
⇒[記述例2]で生成されたインスタンスをオブジェクトとも言う。
・データの隠蔽
⇒外部のクラスからデータを見えなく(アクセスできなく)する。
⇒データの不正な使用を防止できるメリットあり。
・アクセス修飾詞の省略
⇒「パッケージ(後に紹介)」機能に関連する。
同じパッケージにあるクラスからはアクセス可能(public性質)
他のパッケージにあるクラスからはアクセス不可能(private性質)
[ルール]
⇒一つのファイルの中に複数のクラスを記述することは可能だが、
⇒publicつきのクラスはファイル内で一つだけ許可される!
・コンストラクタ
⇒クラスのオブジェクト生成時に、自動的に呼び出され、初期化
を行うために使用される。また特殊なメソッドとも考えられ、多重
定義することも可能。
⇒戻り値はない(型名が不要)!
⇒コンストラクタ名はクラス名と同じにしなければいけない!
クラスは、処理目的ごとに機能をまとめることで構成される。
つまり、必要なデータを宣言し、そのデータを操作するため
のコードを用意する。
⇒データは「フィールド」、コードは「メソッド」で各々管理される。
・メンバ
⇒クラスに宣言されたフィールドとメソッドのこと。
・フィールド
⇒クラスに直接宣言された変数。メンバの構成要素であること
から、メンバ変数と呼ばれることもある。
・アクセス修飾詞
⇒他方のクラスからアクセスできるか否かを指定する。
(ⅰ):private修飾詞
⇒安全のため、他方からのアクセスを許可しない。
(ⅱ):public修飾詞
⇒便宜のため、他方からのアクセスを許可する。
クラスを利用するには?
⇒基本データ型と同様に変数宣言をしてから、new演算子で
クラス実体を生成して利用する。
⇒上記を"クラスのインスタンスを生成する"と表現する。
[記述例1]:変数宣言とインスタンス生成
クラス名 dt = new クラス名( );
[記述例2]:メンバの指定
dt.getoh = 20; //変数を指定して代入
dt.kuma( ); //メソッドを指定して実行
⇒[記述例2]で生成されたインスタンスをオブジェクトとも言う。
・データの隠蔽
⇒外部のクラスからデータを見えなく(アクセスできなく)する。
⇒データの不正な使用を防止できるメリットあり。
・アクセス修飾詞の省略
⇒「パッケージ(後に紹介)」機能に関連する。
同じパッケージにあるクラスからはアクセス可能(public性質)
他のパッケージにあるクラスからはアクセス不可能(private性質)
[ルール]
⇒一つのファイルの中に複数のクラスを記述することは可能だが、
⇒publicつきのクラスはファイル内で一つだけ許可される!
・コンストラクタ
⇒クラスのオブジェクト生成時に、自動的に呼び出され、初期化
を行うために使用される。また特殊なメソッドとも考えられ、多重
定義することも可能。
⇒戻り値はない(型名が不要)!
⇒コンストラクタ名はクラス名と同じにしなければいけない!
JAVAのお勉強-その9.3-
・ファイルへの書き込み
⇒基本的にファイルからの読み込みと同じである。
をBufferedWriterに引数渡しをしてバッファリング可能にし、それ
をPrintWriterに引数渡しをしてprintln( )などのメソッドのサービス
メソッドを使用可能にする。
・データの書き込み
⇒お馴染みのprint( ),println( )メソッドで行う。
⇒注意事項として、「数値は文字列に変換して書き込まれる」
・ファイルからの数値入力
⇒第6章(p.55)でも述べたように、ファイルから数値を入力する
ときは、「文字列として入力し、それを数値に変換する」という
方法を用いる。
・コマンドライン引数
⇒DOS窓やシェルにおいて、javaコマンドを実行するときに
クラス名の後に続けて入力される引数。
⇒ファイル処理をする場合、ファイル名指定に便利!
⇒main( )メソッドの引数として以下のように用意されている。
public static void main(String[]) { ・・・・・・・・・ }
⇒Stringクラス型のargsという名前の配列であり、要素が文字列
である配列の引数として渡される。
「ちょっと用語確認」
・「シェル」(shell)
⇒ユーザーからの入力指示を解釈し、カーネルに伝える役割を
持ったプログラム。
・「カーネル」(kernel)
⇒OSの基本機能を実装したソフトウェア。
・「bash」
⇒シェルを拡張したもの。(Bourne-Again SHellの略)
・「オブジェクト指向」
⇒プログラムを小さな部品(オブジェクト)の形で作成しておき、
これらを必要に応じて組み合わせることで、一つのプログラム
を作成するという考え方。
⇒基本的にファイルからの読み込みと同じである。
・書き込みファイルのオープンの方法
PrintWriter fout = new PrintWriter(new BufferedWriter
(new FileWriter("kari.txt")));⇒kari.txtファイルをFileWriterに設定して書き込み可能にし、それをBufferedWriterに引数渡しをしてバッファリング可能にし、それ
をPrintWriterに引数渡しをしてprintln( )などのメソッドのサービス
メソッドを使用可能にする。
・データの書き込み
⇒お馴染みのprint( ),println( )メソッドで行う。
⇒注意事項として、「数値は文字列に変換して書き込まれる」
・ファイルからの数値入力
⇒第6章(p.55)でも述べたように、ファイルから数値を入力する
ときは、「文字列として入力し、それを数値に変換する」という
方法を用いる。
・コマンドライン引数
⇒DOS窓やシェルにおいて、javaコマンドを実行するときに
クラス名の後に続けて入力される引数。
⇒ファイル処理をする場合、ファイル名指定に便利!
⇒main( )メソッドの引数として以下のように用意されている。
public static void main(String[]) { ・・・・・・・・・ }
⇒Stringクラス型のargsという名前の配列であり、要素が文字列
である配列の引数として渡される。
「ちょっと用語確認」
・「シェル」(shell)
⇒ユーザーからの入力指示を解釈し、カーネルに伝える役割を
持ったプログラム。
・「カーネル」(kernel)
⇒OSの基本機能を実装したソフトウェア。
・「bash」
⇒シェルを拡張したもの。(Bourne-Again SHellの略)
・「オブジェクト指向」
⇒プログラムを小さな部品(オブジェクト)の形で作成しておき、
これらを必要に応じて組み合わせることで、一つのプログラム
を作成するという考え方。
JAVAのお勉強-その9.2-
第12章の続きです。
⇒kuma.txtファイルをFileReaderに引数渡しをして読み込み可能
にし、それをBufferedReaderに引数渡しをしてバッファリング可能
にする(入力効率を良くし、ReadLine()メソッドを利用可能にする)。
・エラー処理(15~17行目)
⇒引数eのもつ例外情報が表示される。
・データの読み込み(10行目)
⇒ファイルから1行だけ読み込む基本的な方法。
・読み込み終了の確認(10~12行目)
⇒ReadLine()メソッドは、ファイル終了ならnullを返す。
⇒"ファイル終了まで読み込みをする"基本的な書き方である。
・ファイルのクローズ(13行目)
⇒ファイルをクローズすると、"ファイル読み書き終了時の内部的
な後始末?"をやってくれるらしい。
・ファイルからの読み込み
[例]:ファイルからデータを読み込む
import java.io.*;
public class ReadFile {
public static void main(String args[]) {
String ss;
try {
BufferedREader fin = new BufferedReader(
new FileReader("kuma.txt"));
while ((ss = fin.readLine()) != null) {
System.out.println(ss);
}
fin.close();
}
catch (Exception e) {
System.out.println("読み込みエラー" + e);
}
}
}・読み込みファイルのオープン(8,9行目)⇒kuma.txtファイルをFileReaderに引数渡しをして読み込み可能
にし、それをBufferedReaderに引数渡しをしてバッファリング可能
にする(入力効率を良くし、ReadLine()メソッドを利用可能にする)。
・エラー処理(15~17行目)
⇒引数eのもつ例外情報が表示される。
・データの読み込み(10行目)
⇒ファイルから1行だけ読み込む基本的な方法。
・読み込み終了の確認(10~12行目)
⇒ReadLine()メソッドは、ファイル終了ならnullを返す。
⇒"ファイル終了まで読み込みをする"基本的な書き方である。
・ファイルのクローズ(13行目)
⇒ファイルをクローズすると、"ファイル読み書き終了時の内部的
な後始末?"をやってくれるらしい。
JAVAのお勉強-その9.1-
第12章:ファイル処理
今までのJAVAプログラムによる一連の処理は、、、
(ⅰ):キーボードから入力
(ⅱ):ディスプレイへ出力
⇒キーボード、ディスプレイではデータの保存は無理!
⇒つまり、一発勝負のデータ入出力になってしまう
⇒実用的なデータ処理(ファイルへの入出力)が必要!
・(入出力)ストリーム
⇒「データの流れ」を意味したファイル入出力で用いる概念
(ⅰ)入力ストリーム用のクラス
⇒[例]:FileReader など
(ⅱ)出力ストリーム用のクラス
⇒[例]:PrintWriter など
続きはまた明日という事で・・・ ( ´,_ノ`)y━・~~~
今までのJAVAプログラムによる一連の処理は、、、
(ⅰ):キーボードから入力
(ⅱ):ディスプレイへ出力
⇒キーボード、ディスプレイではデータの保存は無理!
⇒つまり、一発勝負のデータ入出力になってしまう
⇒実用的なデータ処理(ファイルへの入出力)が必要!
・(入出力)ストリーム
⇒「データの流れ」を意味したファイル入出力で用いる概念
(ⅰ)入力ストリーム用のクラス
⇒[例]:FileReader など
(ⅱ)出力ストリーム用のクラス
⇒[例]:PrintWriter など
続きはまた明日という事で・・・ ( ´,_ノ`)y━・~~~





