接口

接口

  1. 接口中所有的方法都是public abstract;
    1. 定义为抽象类,只能用来继承,不能实例化;
    2. 如果一个类中有抽象方法,那么这个类必须定义为抽象类
    3. 抽象类没有方法体,如果一个类实现(implements)了抽象方法,那么这个类必须重写抽象方法(code implements-three);
  2. 在接口中声明方法时,不能使用native、static、final、synchronized、private、protected等修饰符;
  3. 和public类一样,public接口也必须定义在与接口同名的文件中
  4. 接口中可以有数据成员,这些成员默认都是 public static final。
    1. 接口中的静态数据,可以用实现的类名来访问,或者实例化对象来访问(指的是实例化“实现的那个类名”有点绕口了,);
  5. 一个接口可以继承自另一个接口
  6. Java中不允许类的多继承,但允许接口的多继承(code six);
  7. 在Java中,一个类可以实现多个接口(code seven);
  8. 一个类在继承另外一个类的同时,可以实现多个接口(code eight);
    9.优点:在平台移植时,如果获取方法发生改变,那么就只用修改实现(implement)方法体里面的处理方式,方法名不变;ex:数据库从mysql变成oracle,链接方式改变,sql语句改变。只要名称不变file1,file3都可以重用,只需修改file2中的处理逻辑;

## code implements-three ##
// file 1;
interface student{
    void study();// 没有方法体{};
    String getName();
}
// file 2;
public class stuInfo implements student{
    String Name;
    stuInfo(){
        // 自身的构造函数,可以用作初始化
        this.Name = "somjor";
    }
    public void setName(String name){
        this.Name = name;
    }
    public void study(){
        System.out.println("he is learning");   
    }
    public String getName(){
        return Name;    
    }
}
// file 3;
public class grade{
    public static void main(String[] args){
        stuInfo st = new stuInfo();
        st.study();
        System.out.println(st.getName());
    }
}

## code six ##;
interface fish{
    void water();
}
interface animal{
    void land();
}
interface goldfish extends fish{
}
interface crocodile extends fish,animal{
}

## code seven ##;
class beast implements fish,animal{
    public void water(){}
    public void land(){}
}

## code eight ##;
interface bird{
    void fly();
}
class magic extends beast implements bird{
    public void fly(){}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值