接口可以实例化吗(接口可以直接实例化么)
大家好!今天让创意岭的小编来大家介绍下关于接口可以实例化吗的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。
开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等
只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端
本文目录:
一、父类对象引用子类的实例,接口也可以吗
你的说法是有问题的,接口是不能实例化的,所以没有对象,严格来说是不可以,
但是接口可以实现接口,所以也就拥有了父接口的参数与行为,不知道你是不是想问这个!
二、C#为什么接口可以实例化一个实现该接口的类?
这是多态的体现。
首先接口不能实例化的。
实现接口的类 实例 = new 实现接口的类()// 这样用不好吗?
//这样已经不是好不好的问题了,这样的话,要接口有什么用?
//用接口就是让实例和实现类的耦合度降低。
//让程序更加容扩展。
以下是问题之外的知识,想看可以往下,不想看跳过。
接口 实例 = new 实现接口的类A()
接口 实例 = new 实现接口的类B()
接口 实例 = new 实现接口的类C()
这样的逻辑就是说,我们需要某个类,所以我们每次实例化它。
如果把 ABC这三个类,再用一个类封D装起来,会怎么样呢?
接口 实例 = D.A
接口 实例 = D.B
接口 实例 = D.C
我们还是需要某个类,但是,我们不需要每次都实例化了,只需要找D“拿”就行。
==========晕,不知不觉写了这么多,至于扩展性,你自己想吧======
TIPS:工厂模式。
myblog :http://hi.baidu.com/snowleung
三、HttpServletRequest是借口怎么可以实例化呢?又为什么可以调用里面的方法呢?如request.getParameter()
给你写个示例吧,道理是一样的。接口不能实例化,实例化的是接口的实现类,用的方法也是接口实现类的方法,不是接口的方法。
public class Demo {public static void main(String[] args) {
Animal animal = new Dog(); // 接口引用指向实现类的对象
animal.howl(); // 调用的是实现类的方法
Animal animal2 = new Cat();
animal2.howl();
Animal animal3 = new Animal() { // 匿名内部类,也是对接口Animal的实现
@Override
public void howl() {
System.out.println("这是匿名内部类");
}
};
animal3.howl();
}
}
// 狗
class Dog implements Animal {
@Override
public void howl() {
System.out.println("汪汪");
}
}
class Cat implements Animal {
@Override
public void howl() {
System.out.println("喵喵");
}
}
// 动物接口
interface Animal {
void howl(); // 叫声
}
四、在c++中,接口能实例化吗?下面是接口实例化吗?operFactory是什么?我初学。
首先c++中没有接口这个概念,interface也不是c++的关键字(是java和C#的),在C++中,可以用纯虚类来实现接口的机制,而接口是不能实例化的。
至于楼主的代码,应该是C#或java(两者在语法层面上有80%的接近度),I为接口,Add为实现了该接口的类,实例化是实例化的Add,但是由于向上转型的机制可以将一个类实例的引用赋值给一个接口声明的对象。可以认为Add也是一种I,在能够使用I的地方都可以用Add,不知以上解释是否清晰。
以上就是关于接口可以实例化吗相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。
推荐阅读:
开一个大店还是开2个小店好(开一个大店还是开2个小店好一点)