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

比如Student类实现了Person接口,有没有实现如何判断?求思路... 比如Student类实现了Person接口,有没有实现如何判断?求思路 展开
 我来答
sky不用太多sky
高粉答主

2018-04-18 · 醉心答题,欢迎关注
知道大有可为答主
回答量:1082
采纳率:97%
帮助的人:48.3万
展开全部

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]  。

律乐段问说
推荐于2017-11-25 · TA获得超过885个赞
知道小有建树答主
回答量:956
采纳率:0%
帮助的人:569万
展开全部
意思就是实现了该接口的方法。。
比如说就是:实现person接口里面定义的方法。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
继续o低调
2014-10-19 · TA获得超过158个赞
知道小有建树答主
回答量:100
采纳率:0%
帮助的人:121万
展开全部
使用instanceof 关键字,instanceof是Java的一个二元操作符,是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,也可以测试接口。
public class Test
{
public static void main(String[] args)
{
Student student = new Student();
System.out.println(student instanceof Person);
}
}

class Student implements Person
{
}

interface Person
{
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhongtyler
2014-10-19 · TA获得超过4408个赞
知道大有可为答主
回答量:4384
采纳率:79%
帮助的人:937万
展开全部
java有个操作符叫instanceof
可以判 boolean a=student instanceof Person 这里 student应该是对象实例
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式