当前位置: 代码迷 >> 综合 >> Java学习-类型转换(Casting)
  详细解决方案

Java学习-类型转换(Casting)

热度:15   发布时间:2024-02-10 11:56:02.0

1、对象类型转换(Casting)

1.1基础数据类型转换Casting:

  • 自动类型转换:小的数据类型可以自动转换成大的数据类型(如 long g = 20 ;   double d = 12.0f)
  • 强制类型转换:可以把大的数据类型强制转换成小的数据类型(如 float f = (float)12.0  ; int a = (int)1200L)

2.2对Java对象的强制类型转换称为造型

  • 子类到父类的类型可以自动进行
  • 父类到子类的类型转换必须通过造型(强制类型转换)实现
  • 无继承关系的引用类型间的转换是非法的
		Student s = new Student();Person p =s;//子类到父类的类型转换可以自动进行Person q = new Person();Student t = (Student) q;//从父类到子类转换必须通过造型//Object是所有类的最高父类String str= "hello";Object obj = str;//子类到父类的类型转换可以自动进行Object objs = "world";String strs = (String)objs;//从父类到子类转换必须通过造型
package com.zhukun;class Person
{public void gettext(){System.out.println("这是Person的gettext方法");}
}
class Student extends Person
{public void getSchool(){System.out.println("这是student的getschoo方法");}
}
public class test {public void method(Person e){if(e instanceof Student){Student s = (Student) e;s.getSchool();}else {e.gettext();}}public static void main(String[] args){test t =new test();t.method(new Person());t.method(new Student());}
}