码迷,mamicode.com
首页 > 编程语言 > 详细

java 对象类型的转换

时间:2016-05-21 13:01:56      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:

import com.java.charpt05.NewStr;

class Quadrangle
{
    public static void draw(Quadrangle q)
    {
        System.out.println(q.getClass().getName());
    }




}
public class Parallelogram extends Quadrangle{
    public static void main(String[] args) {
        Parallelogram q=new Parallelogram();
        draw(q);
    }
    
    
    

}

这是对象类型转换中的向上转型。它总是安全的

 

2.

import com.java.charpt05.NewStr;

class Quadrangle
{
    public static void draw(Quadrangle q)
    {
        System.out.println(q.getClass().getName());
    }




}
public class Parallelogram extends Quadrangle{
    public static void main(String[] args) {
        draw(new Parallelogram());


        Quadrangle q=new Parallelogram();

 

//  Parallelogram q=q;报错
        Parallelogram p=(Parallelogram) q;
        
        
        
        
    }
    
    
    
如果将父类对象直接赋予给子类对象会发生错误,因为父类对象不一定是子类的实例,如果将父类对象强制转换为某个子类对象,这种方式为显示类型转换.

当程序中使用向下转型技术上时,必须使用显示类型 转换,向编译器指明将父类对象转换为哪一类型的子类对象

 

java 对象类型的转换

标签:

原文地址:http://www.cnblogs.com/douyunqian3520/p/5514388.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!