java接口和实例化的问题。

1.接口的意义是什么呢。接口定义就是要重写的,那为什么不直接在类中定义方法呢?使用接口还要多出一个类。而且方法还是都要重新覆盖的。2.可以简单的举例说下实例化吗?接口为什... 1.接口的意义是什么呢。接口定义就是要重写的,那为什么不直接在类中定义方法呢?使用接口还要多出一个类。而且方法还是都要重新覆盖的。
2. 可以简单的举例说下实例化吗?接口为什么不能被实例化呢?
展开
 我来答
百度网友4087620
2014-12-13 · TA获得超过154个赞
知道小有建树答主
回答量:101
采纳率:0%
帮助的人:74.5万
展开全部
接口是更加抽象的抽象类,抽象类里的方法可以有方法体,接口里的所有方法都没有方法体。接口体现了程序设计的高内聚低耦合和多态的设计思想。另外,Java中继承都是单继承的,对子类的功能扩展有一定的影响,接口可以看做是对继承的一种补充。实现接口,可在不打破继承关系的前提先,对某个类功能扩展,非常灵活。
public class InterfaceTest {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Computer computer=new Computer();
Camera camera=new Camera();
Phone phone=new Phone();
computer.play(camera);
computer.play(phone);

}

}
interface Usb
{
public void start();
public void stop();
}
class Camera implements Usb
{
public void start()
{
System.out.println("相机开始工作");
}
public void stop()
{
System.out.println("相机停止工作");
}
}

class Phone implements Usb
{

@Override
public void start() {
// TODO Auto-generated method stub
System.out.println("手机开始工作");
}

@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println("手机停止工作");

}
}
class Computer
{
public void play(Usb usb)
{
usb.start();
usb.stop();
}
}
追问
我刚接触JAVA一周左右。你说的一些词不是很明白。比如多态,还没有学到。那JAVA中实例化是什么意思呢。可以不从JAVA中解释这个吗?就是举一个让我能明白的例子。谢谢你了。太多专业词了。恐怕我会更迷糊。
追答
对于类,简单的说就是new 一个对象就是实例化了。比如对类ClassA:
ClassA c; //声明一个变量
c = new ClassA(); //实例化
但接口不能通过new实例化,接口的实例化可参照http://jingyan.baidu.com/article/fec7a1e520ba781191b4e76a.html通俗易懂
命运的左岸521
推荐于2016-06-16 · TA获得超过131个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:69.6万
展开全部
1.要理解接口和抽象类的区别,可以简单地认为 接口是特殊的抽象类
抽象类是,只要类中有方法定义但不实现的即为抽象类
接口呢?是全部的方法都不实现
2.为什么要有接口
接口中方法只定义而不实现,原因有很多
(1)接口是公开的,也就是你写的接口在团队开发过程中对别人是可见的,但是别人可不管你的实现是什么样的,只要这个功能,具体的由你在你的该接口的实现类中去完成;也可以理解为你的实现是保密的,别人看不到,只能实现其想要的功能
(2)接口的实现可能有很多形式,不同的实现形式对应的代码不同
3.实例化的含义
比如有一个Test类,该类呢 有一个默认的构造方法 Test test = new Test();这个即为实例化 就是分配了空间
4.接口实例化
接口不能实例化本身,因为本身没有实现啊
5.建议 看下 抽象类 多态 的含义
6.以上是个人理解,希望对你有用
追问
刚接触JAVA,还没有看到多态。抽象类刚看过。您解释的接口,我现在大概能明白了。实体化的意思就是,一个有实体描述的方法。才可以被实例化。因为接口都是抽象的方法。没有被描述出来。所以还不能在内存中开辟一个空间。就是没有本体。那接口被子类重写后才可以实例化,我理解的对吗?
追答
类间四个关系 
关联 类A调用了类B
依赖 类A的改变直接影响类B
泛化 类A继承了类B 关键字 extend
实现 类A实现了类B 关键字 implement

接口被子类重写后才可以实例化?

接口是 实现关系
接口的调用可以不被实例化
可以在一个类中 通过 @Resource 或
@ApsarasClient(ifName = "接口类路劲")
private TestService service;
来直接调用接口

实例化 用子类实例化父类 是泛化关系
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-12-13
展开全部
举个例子,java提供了数据库接口,至于具体如何操作数据库,由各个数据库厂商自己实现,都要遵循java提供的规范,也就是实现接口。
接口不能实例化,比如你想实例化接口,那要在内存中开辟多大空间?这不能确定。
追问
不知道数据库是什么。刚接触JAVA一周,看到了面向对象的接口。
追答
再比如我有个接口,里面有个方法提供加法运算,全球软件厂商要用java做加法运算,都必须实现这个接口,至于加法运算怎么实现自己做。例子不是很好,不过说的很简单了,自己理解下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式