Javaによる例とは? わかりやすく解説

Javaによる例

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/29 19:11 UTC 版)

メソッド (計算機科学)」の記事における「Javaによる例」の解説

Java記述したインスタンスメソッドと静的メソッド(クラスメソッド)の例を示す。Java では static 修飾子がついたメソッド静的メソッドであり、ついていなければインスタンスメソッドである。 public class MethodSample { /** インスタンスフィールド */ private String name; /** クラスフィールド */ private static int number; /** インスタンス生成するためのコンストラクタ */ public MethodSample(final String name) { this.name = name; } /** インスタンスメソッド、getter */ public String getName() { return this.name; } /** 静的メソッドgetter */ public static int getNumber() { return MethodSample.number; } /** 静的メソッドsetter */ public static void setNumber(final int number) { MethodSample.number = number; }} Smalltalk同様インスタンスメソッドを呼び出すには、まずコンストラクタ呼び出してインスタンス生成しなければならない: MethodSample objectA = new MethodSample("John");MethodSample objectB = new MethodSample("Joe"); 上記の例は、Smalltalkの例におけるインスタンスオブジェクトの生成同様に動作するC++表記踏襲したJavaでは、new演算子によってインスタンス生成する。 インスタンスメソッドを呼び出すには次のように記述する: objectA.getName(); // "John" を返すobjectB.getName(); // "Joe" を返す 上記の例は、Smalltalkの例におけるインスタンスメソッドの呼び出し同様に動作する。 クラスメソッドを呼び出すには次のように記述する: MethodSample.setNumber(100);MethodSample.getNumber(); // 100返す 上記の例は、Rubyの例における直接クラス名指定したクラスメソッドの呼び出し同様に動作するJavaではメタクラスとしてjava.lang.Classクラスサポートする。java.lang.Object.getClass()メソッドによりClassオブジェクト取得できるまた、クラス名.classという構文Classオブジェクト取得するともできる。さらにリフレクションを使うことで、Classオブジェクトからメソッド呼び出したり、フィールドアクセスしたりすることもできる.NET FrameworkではメタクラスとしてSystem.Typeクラスサポートする。System.Object.GetType()メソッドによりTypeオブジェクト取得できるC#ではtypeof演算子により型シンボルからTypeオブジェクト取得するともできるまた、リフレクションサポートしている。 C++クラス型オブジェクトリフレクションサポートせず、クラス自体何らかの変数代入するようなことはできない

※この「Javaによる例」の解説は、「メソッド (計算機科学)」の解説の一部です。
「Javaによる例」を含む「メソッド (計算機科学)」の記事については、「メソッド (計算機科学)」の概要を参照ください。


Javaによる例

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/04/13 17:26 UTC 版)

State パターン」の記事における「Javaによる例」の解説

以下は状態(State)のインタフェース2つ実装である。状態メソッドはコンテキストオブジェクトへの参照持ち、その状態を変えることができる。 interface State {void writeName(StateContext stateContext, String name);}class StateA implements State {public void writeName(StateContext stateContext, String name) {System.out.println(name.toLowerCase());// コンテキストをStateBに遷移するstateContext.setState(new StateB());}}class StateB implements State {private int count = 0;public void writeName(StateContext stateContext, String name){ System.out.println(name.toUpperCase()); // StateBのwriteName()2度呼び出された後にコンテキストをStateAに遷移するif (++count > 1) { stateContext.setState(new StateA()); }}} コンテキストクラスは、初期状態(この場合はStateA)でインスタンス生成したところの状態変数を持つ。そのメソッドでは、状態オブジェクト対応するメソッド使用するpublic class StateContext {private State myState;public StateContext() {setState(new StateA());}// 通常は、Stateインタフェース実装しているクラスによってのみ呼び出されるpublic void setState(State newState) {this.myState = newState;}public void writeName(String name) {this.myState.writeName(this, name);}} 用法は以下。 public class TestClientState {public static void main(String[] args) {StateContext sc = new StateContext();sc.writeName("Monday");sc.writeName("Tuesday");sc.writeName("Wednesday");sc.writeName("Thursday");sc.writeName("Saturday");sc.writeName("Sunday");}} TestClientStateからのmain()出力次のうになるはずである。 mondayTUESDAYWEDNESDAYthursdaySATURDAYSUNDAY

※この「Javaによる例」の解説は、「State パターン」の解説の一部です。
「Javaによる例」を含む「State パターン」の記事については、「State パターン」の概要を参照ください。

ウィキペディア小見出し辞書の「Javaによる例」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Javaによる例」の関連用語

Javaによる例のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Javaによる例のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのメソッド (計算機科学) (改訂履歴)、State パターン (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS