java 方法返回的接口可以强制转换成实现了此接口的类的对象吗?

例如这个:DefaultTreeModel model = (DefaultTreeModel)jTree.getModel();

这个要看这个返回的接口实际指向的是什么类了,比如实现了List接口的有ArrayList和LinkedList,List list=new ArrayList();这是list这个接口实际指向的是ArrayList类型的对象,所以只能强制转换成ArrayList类型的对象,即(ArrayList)list,不能转换成LinkedList类型的对象,及(LinkedList)list是错误的
温馨提示:内容为网友见解,仅供参考
无其他回答

java父类强制转换成子类的问题
父是不能强转成子的,类和接口都一样,而且方法的返回实际上是返回的是类的对象,而不是返回接口。你所看到的方法返回的是接口,实际上是方法返回了实现了该接口的类的对象。拿你的Connector.open()方法来说,这个方法返回的类的对象可能既实现了Connection接口,也实现了ServerSocketConnection接口。但是...

在java中是不是只有继承关系才能强转?
应该是不同类型的数据之间不可以强制转换。大致个可以分为这三个类型,简单类型和对象类型。简单类型分为数值类型和非数值类型。数值类型之间是可以相互强制转换的,比如 int i=10;float j=(float)10;而对象之间的转换是需要有继承关系的。父子之间的转换就比较简单了。但是兄弟之间是不能转换的。class ...

【Java基础语法】 (Comparator<Student>) Collections.reverseO...
没记错应该是这样的:Comparator是接口,接口本身不能实例化,只能靠它的实现类来实例化,如果像你那样写当然错了。

java 一个接口 方法返回类 多个类实现,方法按实现类不同返回类型...
要是实现返回类型不同还是有些难度的,可以转换思路 返回统一的Object,然后增加一个解析层

强制转换一个变量,是在转换的时候转换了变量的值,还是转换了变量的类...
总结 接口之间虽然没有关系 但是它能通过接口所实现的类相互转型 这里存在的是向下转型的概念 因为接口只能通过被实现 才能成为对象 流程大概是 (Teacher)s2 -> (s2)p1 两个接口始终都是操作Teacher这个对象 如果把 painter p1 = (painter)s2 改成 painter p1 = (Teacher)s2 能更好的理解一些 或...

在JAVA中如果一个类实现一个接口,那么可以将此接口看做该类的父类...
可以,为什么不可以嘛,你再强制转换一下,为什么不可以了?interface A { public void interfaceMethod();} class B { public void classMethod() { System.out.println("I am the class method");} } class C extends B implements A { public void interfaceMethod() { System.out.println("...

java中一个类不能同时继承一个类和实现一个接口
接口不变性是指不改变接口的使用方法,但是可以改变接口的具体实现方法。而接口的实现对用户是透明的,用户不需要关心接口的实现,只要知道如何使用接口就行了,所以接口不变性为用户提供了便利。Java语言的特点 Java是面向对象的语言,对程序员来说,这意味着要注意其中的数据和操纵数据的方法,而不是严格...

java接口 调用哪个
Java接口是一种抽象的类型定义,它定义了方法的名字、参数列表和返回类型,但没有实现这些方法的具体内容。当接口被实现时,实现类需要提供接口中所有方法的实现。因此,当我们调用一个接口的方法时,实际上是调用了实现该接口的类的方法。详细解释如下:1. 接口的定义与功能:Java接口是一种完全抽象的类...

java继承问题; 一个类继承了接口,必须实现接口里的抽象方法,否则报错...
因为子类继承父类是,就自动继承了父类中的所有非私有方法。所以相当于子类已实现了这些方法。就不用必须显式实现接口中定义的方法了(当然子类也可以自行实现这些方法,从而覆盖父类中的相应方法)

java:一个类实现某个接口的时候可不可以只实现这个接口中的部分方法...
不一定,关键要看子类是否是抽象类。如果子类是非抽象类,则必须实现接口中的所有方法;如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在!1、抽象类定义 抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的...

相似回答