接口声明,创建引用,不是实例化
来源:互联网 发布:域名top有升值空间 编辑:程序博客网 时间:2024/06/05 13:21
接口是要被实现的,为什么也可以被实例化?
1)
public interface Handler{
public void Hello();
}
2)
import Handler;
public class OtherParser{
Handler handler;
......
一定有某个类实现了这个接口,并且在类路径中可以找到!
接口是永远不能被实例化的,而2中只是对接口做引用,并没有被实例化。
接口可以看成是高度抽象的抽象类,它描述的事物们所共有的方法(方法签名),也就是规定除了该接口的方法的调用参数与规则,仅仅而已,它的使用必须依赖于实现类。
例如:
public class MyHandler implements Handler{
public void Hellp(){
System.out.println( "my Handler implements ");
}
}
而在对接口的引用时,采用的是实例化实现该接口的类
Handler handler = new MyHander();
接口在面向对象中是很重要。需要好好理解。 楼上的说的极是,接口可以被声明出来,但决不能实例化,它可以作为子类的句柄指向子类的实例,但是不能通过它来调用子类所特有的方法,这里面的关系,楼上的兄弟的例子可以很好的说明。
另外,接口,抽象类,普通类,这几种类型需要好好理解,真正的理解了这些,你的java水平已经可以了
- 接口声明,创建引用,不是实例化
- Java中接口与实例化【引用】
- 声明和实例化-对象引用-对象废除
- 声明和创建Blocks 3.1 声明一个block的引用
- 函数嵌套 创建枚举和声明接口
- 在创建实例变量的时候用Set,List,Map等接口声明类型而不是用具体的子类声明的原因之代码重构
- 类声明、类实例化对象、对象中成员的访问、特殊对象的引用$this
- html5创建局域接口实例
- 好记性不如烂笔头-java接口只能声明对象,但不能实例化对象
- 用代码创建并实例化在storyboard中声明的ViewController
- 波哥学JAVA,定义类 声明属性 创建对象 实例化对象 对象调用属性或者方法
- 用代码创建并实例化在storyboard中声明的ViewController
- 动态创建实例2 [无指针引用]
- 实例化 传值 数组声明
- sequelize解决模型不是sequelize创建的实例
- ECS开放批量创建实例接口RunInstances
- 实例化一个子类对象赋给父类对象引用或一个实现了接口的类的对象赋给接口的引用的好处
- WCF 接口动态调用(动态创建实例接口)
- 通话过程中屏幕点亮很慢的原因分析
- 全排列问题问题的两种算法--递归与字典序
- iptables常用规则 - 未完待续
- VC采用COM技术连接数据库(ACCESS)
- PureMVC学习系列-从源码深度剖析PureMVC(从PureMVC中看设计模式-Facade门面模式)
- 接口声明,创建引用,不是实例化
- URL Rewrite
- 进程和多线程学习笔记一
- Thread.interrupt() 使用不当,导致程序无法退出
- 判断是不是iphone5
- PureMVC学习系列-从源码深度剖析PureMVC(从PureMVC中看设计模式-Command命令模式) .
- 4_6
- {linux C}之linux下的C线程池
- sparse coding稀疏表达论文列表