Java接口

一、抽象(abstrcat):

1.抽象的类是new不出来的也就是不能被实例化,只能是子类去实现这个抽象类;

//抽象:关键字 abstract;
//我是一个抽象的类
public abstract class Index_Laugh {

    //我是一个抽象方法
    public abstract void abstractmethods();
}
public class Implementation extends Index_Laugh{
    //实现类 重写父类的方法
    @Override
    public void abstractmethods() {

    }
}

2.有抽象方法的类,必定是抽象的方法;

//抽象:关键字 abstract;
//我是一个抽象的类
public abstract class Index_Laugh {

    //我是一个抽象方法
    public abstract void abstractmethods();

    public void add(){
        System.out.println("我是正常方法!");
    }
}

3.抽象类里面可以写普通的方法;

//抽象:关键字 abstract;
//我是一个抽象的类
public abstract class Index_Laugh {

    //我是一个抽象方法
    public abstract void abstractmethods();

    public void add(){
        System.out.println("我是正常方法!");
    }
}

二、接口(interface):

1. 接口中不能定义成员变量,只能定义成员常量:

成员固定修饰符:public static final
public static final int A = 1;
格式:public static final 数据类型 常量名称 = 值;

2. 接口中抽象方法的定义:

成员固定修饰符:public abstract
public abstract void inter();
public abstract 返回值类型  方法名 (参数列表);

3. 案例:

public interface MyInterFace{
    //成员常量
    public static final int A = 1//抽象方法
    public abstract void inter();
}

4. 小案例:(随边写的不要在意包哦!)

4.1:目录

4.2:代码:

MyInterFace:

/**
 * 我是接口,我有一个方法  一个常量
 */
public interface MyInterFace {
    public static final int A=1;
    public abstract void inter();
}

MyInterFaceImp:

public class MyInterFaceImp implements MyInterFace{
    /**
     * 创建接口实现类 重写接口方法
     */
    @Override
    public void inter() {
        System.out.println("我是抽象方法哦");
    }
}

MyInterFaceTest:

public class MyInTerFaceTest {
    public static void main(String[] args) {
        //创建接口实现类的对象
        MyInterFaceImp myInterFaceImp = new MyInterFaceImp();
        //调用实现类的方法重写
        myInterFaceImp.inter();
        //输出接口值
        System.out.println(myInterFaceImp.A);
    }
}

4.3:执行结果:

5. 补充:反编译:

①:在对应的class文件目录上直接 cmd -> 回车;
②:直接javap 需要反编译的class文件名;(javap MyInterFace.class);

6. 关键字:接口:interface ;实现:implements

//我是接口
//我体内的所有方法都是抽象的,并且我里面所有的方法也是公共的;public可以省略掉哦;🤣(写上看起来舒服)
public interface indexInterface_Laugh {
    //接口里面可以写常量,但是不推荐!!!!!!
    //为了好对应数据库
    public void ins(); //insert   插入
    public void del(); //delete   删除
    public void upd(); //update   修改
    public void sel(); //select   查询
}
//我是实现类,我要实现indexInterface_Laugh的话就需要重写他的方法
//实现类可以实现多接口的
//例:“public class InterFaceImpl implements interface1,interface2” ,所有的接口方法也需要重写
public class InterFaceImpl implements indexInterface_Laugh{
    @Override
    public void ins() {

    }

    @Override
    public void del() {

    }

    @Override
    public void upd() {

    }

    @Override
    public void sel() {

    }
}
posted @ 2021-11-10 15:50  Laugh"  阅读(51)  评论(0编辑  收藏  举报