接口interface

接口顾名思义是用来拓展功能的ide

接口的注意点:函数

1.接口是一个特殊的类spa

2.接口成员变量默认修饰符为 public static final code

3.在jdk1.7以前,接口中只能够有抽象方法,在jdk1.8及以后,接口中能够有非抽象方法,用static和default修饰,用static修饰的方法只能够经过接口名调用,对象

而default修饰的方法,只能经过继承此接口的实现类调用blog

4.接口没有构造函数,不能建立对象(抽象类有构造函数,子类建立的对象时候默认调用父类构造函数,但抽象类自己不能建立对象)继承

5.接口被非抽象类继承时,非抽象类必须重写接口中全部抽象方法,接口被抽象类继承时,抽象类能够重写其中的抽象方法,也能够不重写接口

6.一个类能够实现多个接口虚拟机

7.接口中的常量能够经过实现类访问,也能够经过接口名访问class

8.接口中的抽象方法只能经过实现类调用

9.接口中的方法若是没有加上权限或者abstract修饰符 ,虚拟机会默认加上public abstract 修饰符 ,而且只支持public 和 default权限修饰符 ,并且default在此处不等同于在其余地方使用default权限修饰符 ,在此处是方便经过继承此接口的实现类去调用

 

 

public class Demo4 {

    /**
     * @param args
     */
    public static void main(String[] args) {
//        LoginDao ld = new LoginDao();
        
        User u = new User();
        
        System.out.println(LoginDao.str);// 接口中的常量能够经过接口名访问
        System.out.println(u.a);    // 接口中的常量能够经过实现类访问
        
        u.update();   // 接口中的抽象方法只能经过实现类访问
        u.del();    // 接口中default修饰的方法只能经过实现类访问
        
        LoginDao.add(); // 接口中static修饰的方法只能经过接口名访问

    }

}

interface LoginDao{
    
    int a =10;
    
    String str = "aaa";
    
    void update();
    
    static void add(){
        System.out.println("add....");
    }
    
    default void del(){
        System.out.println("add....");
    }
}

interface queryDao{
    
    
    void query();
    
}

interface  Zi extends queryDao,LoginDao{
    
}

abstract class Account implements LoginDao,queryDao{
    
    @Override
    public void update() {
        // TODO Auto-generated method stub
        
    }
    
    @Override
    public void del() {
         
    } 
    
    
     
}

class User implements LoginDao,queryDao{
    
    @Override
    public void update() {
         System.out.println("sadfasf");
        
    }

    @Override
    public void query() {
        // TODO Auto-generated method stub
        
    }
    
    @Override
    public void del() {
         
    }

    
}
相关文章
相关标签/搜索