色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

JAVA怎樣強制轉換子類和父類

王浩然1年前9瀏覽0評論

在Java中,強制類型轉換是將一個數據類型轉換為另一個數據類型的操作。有時候在使用繼承時,我們需要強制將子類轉換成父類或反之。下面我們分別介紹關于Java強制轉換子類和父類的方法。

強制轉換子類父類:

// 定義子類Human
class Human {
protected String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
// 定義子類Student
class Student extends Human {
private String grade;
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
}
// 定義子類Teacher
class Teacher extends Human {
private String course;
public String getCourse() {
return course;
}
public void setCourse(String course) {
this.course = course;
}
}
// 強制轉換子類為父類
Student student = new Student();
student.setName("Peter");
Human human = (Human) student;
System.out.println(human.getName());

此時輸出的結果為:Peter,可以看到子類Student已經成功轉換成了父類Human。

強制轉換父類子類:

// 定義子類Human
class Human {
protected String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
// 定義子類Student
class Student extends Human {
private String grade;
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
}
// 定義子類Teacher
class Teacher extends Human {
private String course;
public String getCourse() {
return course;
}
public void setCourse(String course) {
this.course = course;
}
}
// 強制轉換父類為子類
Human human = new Student();
Student student = (Student) human;
System.out.println(student.getGrade());

此時輸出的結果為null,因為此時human對象實際上是Student類型,但是在強制轉換時只是將Human類型強制轉換為Student類型,但實際上并沒有賦值,所以會出現空指針異常。

綜上所述,強制類型轉換可以幫助我們實現不同類型之間的轉換,但是在強制轉換時需要注意類型差異問題,以避免出現異常情況的發生。