Javaの強制型変換メソッドの使い方

WBOY
リリース: 2023-04-28 21:43:05
転載
2450 人が閲覧しました

1. 必要に応じて、int 型の値は double 型に自動的に変換されます。

しかし一方で、double 型を強制的に int にすることはできますが、情報が失われる可能性があります。

2. ある型から別の型に値をキャストしようとして、ターゲットの型の表現範囲を超えると、結果は完全に異なる値に切り捨てられます。

たとえば、(バイト)300 の実際の値は 44 です。

//假若父类对象占1M的内存,因为子类对象有一些其他内容,所以多占用0.5M内存,子类对象一共占1.5M内存
People[] staff = new People[2];//这里我们定义了一个父类的对象,可以指向1M内存;
staff[0] = new RichPeople("John", 18, 100,1200);//开辟了1.5M内存,但是实际只指向了1M内存
staff[1] = new RichPeople("Tp",20,200,20000);
if(staff[0] instanceof RichPeople){//判断staff[0]是否是RichPeople的实例
//先创建一个boss实例做暂存,把staff[0]做强制类型转换
//因为boss的引用就是staff[0],所以对boss的操作就是对staff[0]的操作
RichPeople boss = (RichPeople)staff[0];
boss.addDeposit(10000);
//也可以这样写:
//((RichPeople)staff[0]).addDeposit(10000);
//((RichPeople)staff[0])可以看做是创建了一个RichPeople类的匿名对象(等效于上面的boss)
//这个匿名对象的引用和RichPeople类型的staff[0]是相同的
ログイン後にコピー

以上がJavaの強制型変換メソッドの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート