java接口的一些小知识
来源:互联网 发布:淘宝怎么看卖家信用 编辑:程序博客网 时间:2024/06/06 03:19
接口:接口的修饰符只能是public或者默认不写,接口中只有抽象方法,没有具体的实现public void method();接口中的成员只能是final(即常量!),而且只能是public或者没有修饰符的。接口中的方法,如果没有修饰符修饰,默认是public方法,而且也只能是public方法,这个要特别注意的。不能用 new +接口名
接口是一个特殊的抽象类,它没有变量和方法实现
[修饰符] interface 接口名 [extends 父接口名列表]{
[public] [static] [final] 常量;
[public] [abstract] 方法;
}。
extends 父接口名列表:可选参数,用于指定要定义的接口继承于哪个父接口。
1.问题:能不能用接口来定义一个对象?
答案:是可以的见例子
public interface Wu {public void run();}//实现了Wu接口public class ArrayWu implements Wu {public void run() {System.out.println("ArrayWu实现的run方法!");}}//测试public class test11 {public static void main(String[] args) {Wu wuexmp = new ArrayWu();wuexmp.run();}}
这里定义的接口是自定义的Wu接口,然后
<span style="font-size:14px;">Wu wuexmp = new ArrayWu();</span>
<span style="font-size:14px;">是将类创建的对象给了接口这个是允许的,对象的引用可以是以接口,但是对象不能是一个接口类型,必须是接口类型的实现类。</span>
<span style="font-size:14px;">一个类里面的定义对象可以是接口类型,但不能是接口的实例。因为接口不能实例化,它是一个残类。</span>
2.问题java接口中可以定义类吗?
答案:
可以定义,也不仅限于抽象类。只是接口本身不能被实例化,接口内部的类是可以实例化的。调用接口的内部类有两种方法:1.接口名.类名2.创建实现类implements接口,再直接实例化内部类
public interface Test{ class A{public int a=1;}}--public class Program { public static void main(String[] args) {Test.A a = new Test.A();System.out.println(a.a);new B().method();}}class B implements Test{void method(){System.out.println(new A().a);}}
3.类里面定义接口,内部接口。一般没方法,大多数情况都是只定义一些常量。缺省是static的,外部类可以调用该接口。(极少参考Thinking in Java)
但是呢,就是普通的类里面的内部类或者抽象类都不怎么会用的更别说接口的了,所以这个不必掌握。
0 0
- java接口的一些小知识
- java的一些小知识
- Java 的一些小知识
- 关于Java编程的一些小知识
- java异常的一些小知识
- java中常用到的一些小知识
- 关于JAVA的一些小知识
- Java 中的一些小知识
- JAVA中容易混淆的一些小知识
- java的一些小知识(不断补充中..)
- 黑马程序员:java中集合的一些小知识
- JAVA线程相关的一些小知识,Thread
- [Thinking in JAVA] 前N章的一些小知识
- JAVA date类型处理的一些小知识
- ASP的一些小知识
- 一些小的网络知识
- vc的一些小知识
- javascript的一些小知识
- 一个强转换引起的手机连续重启
- js鼠标经过,实现图片的渐隐渐现
- atitit.错误:找不到或无法加载主类 的解决 v4 qa15.doc
- 关于新用户第一次赠送金额的处理
- Ajax详解及其案例分析------如何获得Ajax对象,使用Ajax对象发送GET和POST请求,校验用户名,POST和GET请求时的乱码处理,实现级联的下拉列表
- java接口的一些小知识
- 面向对象的三大特性
- 单调队列实现与例题
- Linux下编写支持多线程的库
- Mysql 内连接、外连接、全连接和交叉连接
- jQuery UI 实例 - 自动完成(Autocomplete)
- Atitit RSA非对称加密原理与解决方案
- Swift中的required修饰符
- Codeforce 723A - The New Year: Meeting Friends