接口interface
原创
©著作权归作者所有:来自51CTO博客作者请叫我木丁西的原创作品,请联系作者获取转载授权,否则将追究法律责任
接口的定义格式:
interface 接口名{
}
接口的作用:
1.扩展功能
2.可以定义约束规范
3.程序的解耦 (低耦合)
接口要注意的事项:
1.接口时一个特殊的类
2.接口的成员变量默认的修饰符为: public static final 。那么也就是说接口中的成员变量都是常量。(利用javap -c -l -p 可以观察出)
3.接口中的方法都是抽象的方法,默认的修饰符为:public abstract
4.接口不能创建对象
5.接口是没有构造方法的
6.接口是给类去实现使用的,非抽象类实现一个接口的时候必须要把接口中所有方法(都是抽象的)全部实现。
实现接口的格式:
class 类名 implements 接口名{
}
interface Interf
{
//成员变量
int i = 3; //接口的成员变量默认的修饰符为: public static final
//成员函数
void print(); //接口的成员函数默认的修饰符为:public abstract
}
class Demo52
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
Demo 需求:在现实生活中有部分学生在校期间只会学习,但是由部分学生除了学习之外还能挣钱
分析:
普通的学生类
挣钱接口
会挣钱的学生类
/**
* Author:Liu Zhiyong
* Version:Version_1
* Date:2016年4月24日16:01:28
* Desc:需求:在现实生活中有部分学生在校期间只会学习,但是由部分学生除了学习之外还能挣钱
分析:
普通的学生类
挣钱接口
会挣钱的学生类
*/
//普通学生类
class Student
{
String name;
public Student(String name){
this.name = name;
}
public void study(){
System.out.println(name + "我能学习。。。。");
}
}
//挣钱接口
interface GetMoney
{
public abstract void getMoney();
}
//会挣钱的学生类
class GetMoneyStu extends Student implements GetMoney
{
public GetMoneyStu(String name){
super(name);
}
public void getMoney(){
System.out.println(name + "我还能挣钱。。。。");
}
}
class Demo53
{
public static void main(String[] args)
{
GetMoneyStu stu = new GetMoneyStu("刘志勇。。。。。");
stu.study();
stu.getMoney();
System.out.println("Hello World!");
}
}