实例化
1 接口无法进行实例化。不过接口可以通过匿名接口来操作。直接实现一个接口。但是是匿名的如:public interface Test1Interface {
public int aa=1;
public void run();
}
public class Test1 {
private Test1Interface test1Interface=null;
public Test1() {
super();
// TODO Auto-generated constructor stub
}
public Test1(Test1Interface test1Interface) {
super();
this.test1Interface = test1Interface;
}
public void start(){
if(this.test1Interface!=null){
this.test1Interface.run();
}
}
}
//测试 接口匿名类 直接实现一个接口。但是是匿名的
Test1 test1=new Test1(new Test1Interface(){//匿名的实现接口
public void run() {
// TODO Auto-generated method stub
System.out.println("11111");
}
});
test1.start();
2 接口的属性默认都是public、static、final类型的。
如:/**
* 接口变量
* 只能是public(公共的,private的类型,只能在接口中使用,但是接口都是方法申明而没有方法体)
* static类型的(是因为只能通过接口类名类使用。而无法接口自身实例化来调用),
* final类型的(不能被修改)
* 故只能是public、static、final类型的
*/
public interface Test1Interface {
public int aa=1;
public void run();
}
3 接口无法实例化。不过实现接口的子类可以通过创建对象赋值给接口。
如:public interface Commond {
public void process();
}
public class RegisterImpl implements Commond{
public void process() {
// TODO Auto-generated method stub
System.out.println("注册。。。。");
}
}
//实现接口的类通过创建对象赋值给接口
Commond commond=new RegisterImpl();
commond.process();
4 接口对象实例化后(通过实现接口的类创造对象赋值给接口)。如果想要赋值给实现接口的子类。需要通过强制转换。
如:Commond commond=new RegisterImpl();
commond.process();
RegisterImpl registerImpl=(RegisterImpl)commond;
registerImpl.process();
5 通过子类的类名的全路径。可以得到class、继而得到类对象。然后调用接口方法。类名-》class->Object类对象
如:String className="test.sample2.impl.RegisterImpl";
Class<Commond> class_=(Class<Commond>) class.forname(className);
Commond commond_=class_.newinstance();//通过newInstance()得到对象。
commond_.process();
6 接口也可以作为参数进行传递来使用。
如:public interface ICommond {
public void sendCommond();
}
public class CommondImpl implements ICommond{
public void sendCommond() {
// TODO Auto-generated method stub
System.out.println("发送命令....");
}
}
public class TestCommond {
private ICommond commond=null;
public TestCommond() {
super();
// TODO Auto-generated constructor stub
}
public TestCommond(ICommond commond) {
super();
this.commond = commond;
}
public void sendCommond(){
if(this.commond!=null){
this.commond.sendCommond();
}
}
}
//首先是将实现接口的子类创造对象赋值给接口。然后将该接口作为参数传递。最后调用方法,该方法中调用该接口的方法
ICommond commond=new CommondImpl();
TestCommond test=new TestCommond(commond);
test.sendCommond();
综上所述:接口的功能:
1 匿名类
2 成员变量:public static final 简称:psf
3 接口的实例化(实现接口的子类创造对象赋值给接口)
4 接口的赋值(由接口赋值给实现接口的子类。通过强制转换)
5 通过实现接口的子类的全路径来得到class。然后得到接口对象。最后调用接口方法。
6 把接口当做参数传递并最后调用方法。
相关阅读
cloneable接口的作用 cloneable其实就是一个标记接口,只有实现这个接口后,然后在类中重写Object中的clone方法,然后通过类调用clone
Web项目通过webservice编写一个接口,部署在远程服务器
在我的上一片文章中,我在本地新建了一个普通的类来编写WebService,使用终端类 Endpoint 发布这个WebService,以此来实现让其他类调用
联众打码平台接口调用(初版) 由于工作需要在使用某网站是需要验证码登录,所以选择了打码平台(当然如果有条件,可以使用机器学习),在这里
Web service服务(接口)一.定义Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用
电脑显卡全称显示接口卡(Video card,Graphics card),又称为显示适配器(Video adapter),显示器配置卡简称为显卡,是个人电脑最基本组成部分