java接口的对象
Ⅰ 接口可以有对象吗 java接口可以有对象吗
ServletContext application = new ServletContext();
如上这样写就是错的
但是ServletContext application = this.getServletContext();这句话其实是一个向上转型,实际创建的是一个实现了ServletContext接口的类的对象,就相当于父类类型对象引用子类类型对象
即Father f = new Son();
PS:同学,我看你大概J2SE的基础知识还需要巩固一下,不要急于求成。j2se像反射、Annotation、线程、多态一类的只是还是挺重要的
Ⅱ java中的库 类 接口 对象(如scanner是干嘛的) 是什么最好能通俗地解释
库中放了许多包,库就是一个太阳系,包就是地球,水星等;
包里放了许多类,类是一个实际物体的概念,比如说一个人类。
接口是一个物体生成所需要的规则,比如生孩子必须要有耳朵眼睛等等。
对象是实际物体,如人类是一个类,张三就是一个实际的人类。
够通俗不~
Ⅲ java的接口是什么意思接口具体能做什么
java接口的用处主要体现在下面几个方面:
(1)通过接口可以实现不相关类的相同行为,而不需要了解对象所对应的类。
(2)通过接口可以指明多个类需要实现的方法。
(3)通过接口可以了解对象的交互界面,而不需了解对象所对应的类。
类描述了一个实体,包括实体的状态,也包括实体可能发出的动作。
接口定义了一个实体可能发出的动作。但是只是定义了这些动作的原型,没有实现,也没有任何状态信息。
所以接口有点象一个规范、一个协议,是一个抽象的概念;而类则是实现了这个协议,满足了这个规范的具体实体,是一个具体的概念。
从程序角度,简单理解,接口就是函数声明,类就是函数实现。需要注意的是同一个声明可能有很多种实现。
1、接口中定义类方法的原型,但是不能说是空方法,因为空方法的意思是有实现体,只不过实现体是空操作。实际上接口没有定义任何实现体。具体的实现体都是在实现接口的类中,接口只是定义了这些方法的调用方式。
你当然也可以不用接口,直接在类里面写方法,但是如果你的一组方法需要在很多类里实现,那么把它们抽象出来,做成一个接口规范,不是更好么?
2、一个类描述了一个实体,这个实体可能是一个复杂的对象,它的动作很多,如果把这些动作分类,用接口a定义其中的某一组动作,接口b定义其中的另外一组动作,这样的结构,比较清楚。
这种方式具备了多继承的优点,避免了多继承的缺陷。实际上在历史上,接口在很大程度上,是为了解决多继承带来的种种问题而设计出来的。
3、包中那些已定义的接口,怎么知道那里面定义了什么方法。
接口里定义了方法的输入输出,这些都是协议,具体的实现都在每个类中。对于很多只需要抽象接口的地方,不需要知道具体的类是什么,只要这个类实现了这个接口就可以了。
Ⅳ java中接口的对象
问题问的,稍微,没太看明白,我理解你是说:
有一个接口A, 然后你有一个类B,且B类实现了接口A。
如果是这样的话,B类是接口A的一个实例,B类必须实现接口A中定义的方法,同时也可以定义任意接口中没有定义的方法,且都可以正常使用。
不知道你是想问这个事情不。
关于你说的“那么这个对象算不算类的对象呢”没看明白啥意思……
--------------------------------------------
--------------------------------------------
如果是你补充的样子的话,那么你的类C不能使用类B中的方法,原因是你已经声明,C是接口A的实例,虽然你用类B去实例化他。而类B是接口A的实例,也可以看作A的子类,这样,根据父类不能访问子类的方法这样的原则,类C不能使用类B中定义的,且在接口A中没有声明的方法。
Ⅳ java类和接口的区别
接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。
接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。
接口与类的区别:
接口不能用于实例化对象。
接口没有构造方法。
接口中所有的方法必须是抽象方法。
接口不能包含成员变量,除了 static 和 final 变量。
接口不是被类继承了,而是要被类实现。
接口支持多继承。
Ⅵ java接口与对象区别
1.语法层面上的区别
1)抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;
2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
3)接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;
4)一个类只能继承一个抽象类,而一个类却可以实现多个接口。
2.设计层面上的区别
1)抽象类是对一种事物的抽象,即对类抽象,而接口是对行为的抽象。抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)进行抽象。举个简单的例子,飞机和鸟是不同类的事物,但是它们都有一个共性,就是都会飞。那么在设计的时候,可以将飞机设计为一个类Airplane,将鸟设计为一个类Bird,但是不能将飞行 这个特性也设计为类,因此它只是一个行为特性,并不是对一类事物的抽象描述。此时可以将 飞行 设计为一个接口Fly,包含方法fly(),然后Airplane和Bird分别根据自己的需要实现Fly这个接口。然后至于有不同种类的飞机,比如战斗机、民用飞机等直接继承Airplane即可,对于鸟也是类似的,不同种类的鸟直接继承Bird类即可。从这里可以看出,继承是一个“是不是”的关系,而 接口 实现则是“有没有”的关系。如果一个类继承了某个抽象类,则子类必定是抽象类的种类,而接口实现则是有没有、具备不具备的关系,比如鸟是否能飞(或者是否具备飞行这个特点),能飞行则可以实现这个接口,不能飞行就不实现这个接口。
2)设计层面不同,抽象类作为很多子类的父类,它是一种模板式设计。而接口是一种行为规范,它是一种辐射式设计。什么是模板式设计?最简单例子,大家都用过ppt里面的模板,如果用模板A设计了pptB和ppt C,ppt B和ppt C公共的部分就是模板A了,如果它们的公共部分需要改动,则只需要改动模板A就可以了,不需要重新对ppt
B和ppt
C进行改动。而辐射式设计,比如某个电梯都装了某种报警器,一旦要更新报警器,就必须全部更新。也就是说对于抽象类,如果需要添加新的方法,可以直接在抽象类中添加具体的实现,子类可以不进行变更;而对于接口则不行,如果接口进行了变更,则所有实现这个接口的类都必须进行相应的改动。
Ⅶ JAVA接口对象的使用
public SomeClass someClass(){
return new ....();
//前一个SomeClass是一个返回类型.就是表明返回的类型是实现了这个接口的对象的引用,
//后一个someClass是方法名;
//return new ...();这个是返回对象引用.返回的这个对象必须是实现了SomeClass这个接口的对象的引用.明白么?
Ⅷ java创建了一个接口的对象,怎么理解
java支持多态度,也就是一个对象多种状态,比如,生物包括动动物、植物、微生物等等,动物和植物都可以称为生物,也就是这个道理。这里创建的是ArrayList对象,java中对象的引用可以是本类的引用,也可以是父类或者父接口类型的引用,在用这个父类(父接口)的引用调用方法时,执行是按照实际对象的类的方法执行的,这就是方法重写。接口其实主要就是用来定义规范的,比如JDBC就是一套接口定义的规范,具体实现由数据库厂商去实现,而具体使用对于程序员来说都是一样的方法,只是不同的数据库sql语句有些差异。List是一个接口,它有很多的实现类,我们用得最多的就是ArrayList和Vector了,你可以上网查查这2个类具体都有什么分别,用接口,也就是使得操作ArrayList和Vector对象用一样的方法(List中定义过的方法)。