判断类型是否实现接口(如何判断接口调用哪个类)

网友投稿 495 2023-01-21


本篇文章给大家谈谈 判断类型是否实现接口,以及如何判断接口调用哪个类对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享 判断类型是否实现接口的知识,其中也会对如何判断接口调用哪个类进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java如何判断一个类是否实现了某个接口?

Class中有个方法 public native boolean isAssignableFrom(Class<? cls)用来判断子类是否继承于父类的或者父接口的。

你会这样子写:

Class clazz = ....;

clazz.isAssignableFrom(子类名称);返回true说明是挂号里的类的父类或父接口。

clazz.isAssignableFrom(子类名称)里的子类名称跟版本有关,好像是1.5以上的JDK这里的子类名称都是使用的泛型编程。即传的传数是

class<T 类型的,你用的时候自己斟酌下版本问题。

而常用的instanceof(class ..)是指该实例是否属于挂号中的类的父类的一个实例。

如上面的例子:

class A{

}

public class B extends A{

public static void main(String[] args){

Class clazz = B.class;

Class class1 = A.class;

System.out.println(class1.isAssignableFrom(clazz));

if(class1.isAssignableFrom(clazz)){

System.out.println("A是B的父类");

}else{

System.out.println("A不是B的父类");

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程[1]  。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点[2]  。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等[3]  。

JDK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。不论什么Java应用服务器实质都是内置了某个版本的JDK。主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如,IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK[13]  。

另外,可以把Java API类库中的Java SE API子集和Java虚拟机这两部分统称为JRE(JAVA Runtime Environment),JRE是支持Java程序运行的标准环境[14]  。

JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此只要安装了JDK,就可以编辑Java程序,也可以正常运行Java程序。但由于JDK包含了许多与运行无关的内容,占用的空间较大,因此运行普通的Java程序无须安装JDK,而只需要安装JRE即可[15]  。

C#怎么判断类型是否实现指定泛型接口

以Program类和IEnumerable泛型接口为例,只需判断它的实例是否能强制转换成指定的泛型接口,如果为null说明它未实现某接口,反之,实现了某接口。

 IEnumerable<Object en = (new Program()) as IEnumerable<Object;
 
 if (en != null) Console.WriteLine("Implemented");
 else Console.WriteLine("Non-Implement");

C#如何判断一个类是否实现了指定接口

C#里,interface(接口)结构体中定义的接口必须在继承类里显式的实现,否则编译器就报错了,应该不用去判断“是不是实现了某个接口”,因为编译器会帮你判断。
如:
123456789101112public interface ICommon{ string Show(string str);} public class Common:ICommon //继承接口{ public string Show(string str) //接口实现 { return "您输入了:"+str; }}
如果你的实现类里面写成:
1public string Show(int number){.....}
那么编译器会提醒你,Common里没有显式实现接口。。。

java 中如何检测已经实现了接口?

可以用反射的方法获取该类的父类。也就是取得该类的字节码文件,然后调用字节码文件的getSuperclass()方法就可以获取父类。
还有一种就是使用A.isAssignableFrom(B.class)方法
这个方法是判断A是否为B的父类或接口.返回boolean类型。
第二种方法可以参见:
http://hi.baidu.com/maml897/blog/item/1a80e43cf4f5a0cc9f3d62b4.html

c++如何判断指针指向的实例是否实现了某个接口

有没有实现的接口的类是不能生成对象的,你运行编译的时候就会出错。
你多态,基类(一般是抽象类)的指针需要指向派生类,是这样的:
Base *p = new Derived;
如果你的Derived有没有实现的方法的话,new Derived就是错误的。

java 多个类实现接口 如何判断接口执行的哪个实现

public class Car
{
Carinterface a,b,c;
void set(Car1 a,Car2 b,Car3 c,)
{
this.a=(Carinterface)a; //做类型转换,说是强转也可以
this.b=(Carinterface)b;
this.c=(Carinterface)c;
}
void getPrice()
{
System.out.println(a.getPrice()); //输出Car1类的实现
System.out.println(b.getPrice()); //输出Car2类的实现
System.out.println(c.getPrice()); //输出Car3类的实现
}
}
//因为a,b,c是Carinterface类型的。
但是传入的是Car1,Car2,Car3类型的,会被自动转换为Carinterface类型
通过接口函数调用的时候,虽然都是Carinterface类型
但是会自动调用到Car1,Car2,Car3类型的个子的 getPrice实现方法。 关于 判断类型是否实现接口和如何判断接口调用哪个类的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 判断类型是否实现接口的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于如何判断接口调用哪个类、 判断类型是否实现接口的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java~springboot~ibatis数组in查询的实现方法
下一篇:SpringBoot添加自定义拦截器的实现代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~