日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

java 多态判断非空_Java 多态

發布時間:2025/3/12 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 多态判断非空_Java 多态 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

父類的屬性變量(例如變量 int a)可以被繼承,同時在子類中也會同時繼承該變量(super.int a,繼承的變量),子類中也可以再次聲明一個同名(可以同類型)的變量(double a,自己聲明的同名變量),兩者可以同時存在。在輸出時候根據對象的引用名輸出,例如:

class Animal{

public int age; //此處在Animal中定義類型為int,名為age的變量。

public void move(){

System.out.println("動物總是不安分");

}

}

class Dog extends Animal{

public double age; //此處在Dog中定義新類型double,名為age的變量。當然int嘗試也可以。

public void move(){

age =10;

System.out.println("狗跑的很快");

}

}

class Cat extends Animal{

public void move(){

super.age = 3; //此處繼承age,并賦值為3.且該類中未重新定義變量。

System.out.println("貓跳的很高");

}

}

public class DuiXiang03{

public static void main(String args[]){

Animal a = new Animal(); // Animal 對象

Animal b = new Dog(); // Dog 對象

Animal c =new Cat(); //Cat 對象

Dog d= new Dog();

Cat e= new Cat();

a.move();//執行 Animal 類的方法

b.move();//執行 Dog 類的方法

c.move();//執行 Cat 類的方法

d.move();//執行Dog 類的方法

e.move();//執行 Cat 類的方法

Object aValue = a.age;

Object bValue = b.age; // b.age有兩個age值,一個是自定義的age值,一個是繼承的age值

Object cValue = c.age;

Object dValue = d.age; // d.age有兩個age值,一個是自定義的age值,一個是繼承的age值

Object eValue =e.age;

System.out.println("The type of "+a.age+" is "+(aValue instanceof Double ? "double" : (aValue instanceof Integer ? "int" : ""))); // Animal 類中的 age 未被賦值

System.out.println("The type of "+b.age+" is "+(bValue instanceof Double ? "double" : (bValue instanceof Integer ? "int" : ""))); // b.age有兩個age值,輸出取引用名為Animal的int類型值

System.out.println("The type of "+c.age+" is "+(cValue instanceof Double ? "double" : (cValue instanceof Integer ? "int" : ""))); // c.age只有一個age值,是super所繼承的Animal中的age值,再被賦值為3

System.out.println("The type of "+d.age+" is "+(dValue instanceof Double ? "double" : (dValue instanceof Integer ? "int" : ""))); // d.age有兩個age值,輸出取引用名為Dog的double類型值

System.out.println("The type of "+e.age+" is "+(eValue instanceof Double ? "double" : (eValue instanceof Integer ? "int" : ""))); // c.age只有一個age值,是super所繼承的Animal中的age值,再被賦值為3

}

}

輸出的結果為:

動物總是不安分

狗跑的很快

貓跳的很高

狗跑的很快

貓跳的很高

The type of 0 is int

The type of 0 is int

The type of 3 is int

The type of 10.0 is double

The type of 3 is int

我是小萌新

我是小萌新

239***9370@qq.com2年前 (2018-08-30)

總結

以上是生活随笔為你收集整理的java 多态判断非空_Java 多态的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。