Java学习-类型转换(Casting)

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());
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_44279178/article/details/107979517