例として、String オブジェクトの機能を模倣したいと思います。
String mystring = new String ( "Hi there." );
System.out.println(mystring); // prints "Hi there." without calling any methods on String
// (that is what I want with my object)
System.out.println(mystring.toUpperCase()); // prints "HI THERE."
これから始めます:
class MyObject
{
private Int value ;
public MyObject ( Int value )
{
this.value = value ;
}
public Int getValue ( )
{
return this.value ;
}
public Int multiplyBy ( Int multiplier )
{
return this.value * multiplier ;
}
}
...どのように(または私は)このようなことをすることができますか:
MyObject myobject = new MyObject ( 6 ) ;
System.out.println( myobject ) ; // want to print myobject.value (6)
System.out.println( myobject.multiplyBy ( 2 ) ) ; // print 12
私は Java にまったく慣れていないため、基本的な概念が欠けている可能性があることを認識していますが、フィードバックをいただければ幸いです。ありがとうございました。
編集: toString メソッドのオーバーライドに関する応答は役に立ちましたが、私が考えていたことを完全には実行していません。ここに、私が望むもののより良い例を示します:
Double mydouble = new Double ( 20.1 ) ;
System.out.println ( mydouble + 10.1 ) ; // prints 30.2
自分のオブジェクトでこれを行うにはどうすればよいですか (デフォルト値を double にしたい場合)。
再度、感謝します。
最終編集 (願わくば): あなたの回答は、私がプリミティブ ラッパーと Autounboxing についてさらに学ぶのに十分でした。私の理解では、私が望むことを行う方法はありません (この時点で、オブジェクトを double として自動アンボックス化すると説明します)、または少なくとも別の質問のためにそれを保存します。乾杯。