java的向上转型

package first;
interface Car {    void lighting();}
public class Test implements Car{

    @Override
    public void lighting() {
        // TODO Auto-generated method stub

    }

    public void ss(){
        System.out.println("haha");
    }

    public static void main(String[] args) {
        Car test = new Test();
        ((Test) test).ss();
    }
}

强制转换成子类,能避免向上转型造成的属性、方法的丢失。

时间: 2025-01-08 23:38:19

java的向上转型的相关文章

java的向上转型总结

在<think of java>中对'向上转型'有着如下的描述 看完之后很蒙圈,所以自己在网上找了一些描述,并自己做了简单的总结 简单的例子 class A{ public void A1(){ System.out.println("父类方法1"); }public void A2() { System.out.println("父类方法2"); }} class B extends A{ public void A1() { System.out.p

java的向上转型与向下转型

刚开始接触java转型,虽然现在还不知道为什么要转型,但是先强记下语法吧 向上转型: 首先要有一个父类,一个子类, Person p=new Person(); p=new Student(); OK,这就是向上转型,可以简化成:Person p=new Student(); 1)   p是Person的引用,指向Student的对象,p不是对象; 2)   p只能调用父类中有的成员变量与成员函数,子类中新有的方法与变量p不能使用,而执行的主体是子类的主体. 例如 class Person{ v

JavaSE(五)JAVA对象向上转型和向下转型

今天做了一个测试的题目,发现自己还是很多问题没有静下心来做.很多问题是可以自己解决的但是自己一是没有读清题意,二是自己心里太急躁了.所以这个要自己应以为鉴! 对象的转型问题其实并不复杂,我们记住一句话:"父类引用指向子类对象". java中对象的转型分为向上转型和向下转型 一.对象的向上转型 1.1.定义 子类引用的对象转换为父类类型称为向上转型.通俗地说就是是将子类对象转为父类对象.此处父类对象可以是接口 1.2.解释 比如说我有两个类,一个是父类Animal,另一个是Bird类为子

Java对象向上转型和向下转型

1 向上转型(不需要强制转换): 由抽象度低的类向抽象度高的类转型(子类—父类) 好处:可以操作和使用子类继承或重写的方法 失处:失去对子类新增成员变量和新增成员方法的操作和使用 2 向下转型(需要强制转换): 由抽象度高的类向抽象度低高的类转型(父类—子类) 3 可以使用 引用变量 instanceof 类名 来判断该引用型变量所“指向”的对象是否属于该类或该类的子类. 父类引用指向子类对象.子类和父类中定义同名的变量时,仅仅是隐藏了,变量没有多态性:而对于覆盖的方法,Java表现出多态性,会

JAVA对象 向上转型upcasting,向下转型downcasting

1:向上转型 向上转型,就是java多态中的父类引用指向子类对象.但要注意的是 父类引用不可以访问子类新增加的成员(熟悉和方法) 代码举例: /** * 定义一个父类 */ public class Anaimal{ private Long height; public Long getHeight() { return height; } public void setHeight(Long height) { this.height = height; } } /** * 下面的main方

接口回调和向上转型

抄别人的,但为了自己掌握更加的踏实,所以复制到这里,拜谢原创!http://blog.csdn.net/u014025369/article/details/24707525 接口回调是指:可以把使用实现了某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法.实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调.看下面示例.interface People {     void people

Java向上转型和向下转型(附具体样例)

                                            Java向上转型和向下转型(附具体样例) 熬夜整理的关于Java向上和向下转型的样例,很的通俗易懂哦~~~~ 一.向上转型 package com.sheepmu; class Animal { public void eat() { System.out.println("父类的 eating..."); } } class Bird extends Animal { @Override publ

java向上转型和向下转型

一直不太明白这个概念,于是在网上搜索了一下文章转载自:http://www.cnblogs.com/fickleness/p/3149011.html 转型是在继承的基础上而言的,继承是面向对象语言中,代码复用的一种机制,通过继承,子类可以复用父类的功能,如果父类不能满足当前子类的需求,则子类可以重写父类中的方法来加以扩展. 向上转型:子类引用的对象转换为父类类型称为向上转型.通俗地说就是是将子类对象转为父类对象.此处父类对象可以是接口 向下转型:父类引用的对象转换为子类类型称为向下转型. 前者

Java转型(向上转型和向下转型)

在Java编程中经常碰到类型转换,对象类型转换主要包括向上转型和向下转型. 5.13.1 向上转型 我们在现实中常常这样说:这个人会唱歌.在这里,我们并不关心这个人是黑人还是白人,是成人还是小孩,也就是说我们更倾向于使用抽象概念"人".再例如,麻雀是鸟类的一种(鸟类的子类),而鸟类则是动物中的一种(动物的子类).我们现实中也经常这样说:麻雀是鸟.这两种说法实际上就是所谓的向上转型,通俗地说就是子类转型成父类.这也符合Java提倡的面向抽象编程思想.来看下面的代码: package a.