黑马程序员技术交流社区
标题:
接口
[打印本页]
作者:
a80C51
时间:
2015-9-6 21:58
标题:
接口
接口
一、定义:
是一个比较特殊的抽象类。
二、关键字 interface
三、接口格式的特点
1,接口中常见定义:常量和抽象方法;没有构造器和初始化块。
2,接口中的成员都有固定的修饰符
常量:public static final
方法:public abstract
3,接口中的成员都是public
4,接口无法创建对象,因为有抽象方法
四、接口和类的关系——实现,关键字implements
五、接口可以被类多实现。
六、接口可以支持多继承。
七,接口的特点
a,是对外暴露的规则;
b,是程序的扩展功能;
c,可以用来多实现;
d,类可以继承一个类的同时,实现多个接口;
e,接口与接口之间有多继承关系。
八,基本功能在类中定义,而扩展功能在接口中定义。
代码例子如下:
abstract class Student
{
public abstract void study();
Student(String name)
{
System.out.println("My name is "+name);
}
public void sleep()
{
System.out.println("I need sleep!");
}
}
interface Smoke
{
public abstract void smoking();
}
interface Drink
{
public abstract void drinking();
}
class Wayne extends Student
{
Wayne(String nameStr)
{
super(nameStr);
}
public void study()
{
System.out.println("good good study,day day up!");
}
}
class Bruce extends Student implements Smoke
{
Bruce(String nameStr)
{
super(nameStr);
}
public void study()
{
System.out.println("study so so!!");
}
public void smoking()
{
System.out.println("also smoking");
}
}
class Anna extends Student implements Smoke,Drink
{
Anna(String nameStr)
{
super(nameStr);
}
public void study()
{
System.out.println("study not good!!");
}
public void smoking()
{
System.out.println("not only smoking");
}
public void drinking()
{
System.out.println("but also drinking");
}
}
public class myInterface
{
public static void main(String[] args)
{
Wayne wayne = new Wayne("Wayne");
wayne.study();
Bruce bruce = new Bruce("Bruce");
bruce.study();
bruce.smoking();
Anna anna = new Anna("Anna");
anna.study();
anna.smoking();
anna.drinking();
}
}
复制代码
作者:
a80C51
时间:
2015-9-6 23:27
另外,补充接口的用途
虽然不能用于创建实例,但可以用于声明引用类型变量。
主要作用有三个
1,定义变量,可进行强制类型转换。
2,调用接口中定义的常量。
3,被其他类实现。
作者:
大大的大孩
时间:
2015-9-6 23:40
顶顶顶顶顶的顶顶顶顶顶的顶顶顶顶顶
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2