zoukankan      html  css  js  c++  java
  • 抽象类以及接口的异同

    /**
    * 抽象类的使用
    * @author Administrator
    *定义抽象类的目的是有时候我们需要一个很抽象的概念比如水果,只是想要使用它来分类,所以它的实例化是没有意义的
    *oneabstract a=new oneabstract()是不合法的,编译错误
    */

    public  abstract  class oneabstract {
    //可以有构造方法
        public oneabstract() {
     
        }
        //可以有变量
        public int aa;
    public abstract void a();
    public void ab(){
     
    }
    }
    //我们可以定义一个类继承oneabstract来获得里面的方法,如果这个类不是抽象的则必须重写抽象方法
    class b extends oneabstract{
     
        @Override
        public void a() {
            // TODO Auto-generated method stub
     
        }
     
    }
     

    public interface oneintface {
     
        /*不能有构造方法
         * public oneabstract(){
     
        }*/

     
        public int aa=1;
    //public    String a;
    public abstract void a();
    public void b();
    /**
    里面不能放private以及protected类型,因为接口的使用是要实现的,而private以及protected修饰的方法
    * 只能在当前类和当前包使用
    */

    //protected void c();
    /*同上,abstract不能和final放一起*/
     
    /*abstract 不能和static放一起因为static的作用是为了
    * 让所有的对象共享方法或者属性而实现接口后所有的方法都被重写了
    * 不再需要共享
    public abstract static void c(); */

     
    }
    //接口可以继承接口
    interface two extends oneintface{
     
     
    }
    //接口之间可以多继承
    interface three extends two,oneintface{   
        public void threea();
    }
    //普通的类实现接口必须重写其中的抽象方法
    class c implements three{
     
        @Override
        public void a() {
            // TODO Auto-generated method stub
     
        }
     
        @Override
        public void b() {
            // TODO Auto-generated method stub
     
        }
     
        @Override
        public void threea() {
            // TODO Auto-generated method stub
     
        }
     
    }
    //抽象类实现接口可以不重写
    abstract class d implements three{
     
    }
  • 相关阅读:
    HTML多媒体标记之字幕标记
    认识JS的基础对象,定义对象的方法
    JDBC-ODBC桥接器连接Access数据库
    使用JQuery制作幻灯片(轮播图)
    开博11天后的第一次随笔!
    Springboot配置MongoDB连接增加mongoplus支持
    云服务器部署集锦 阿里ESC+docker+mysql+Portainer+rabbitmq+mongo
    centos8安装docker
    vue cli的使用
    MyBatis Plus数组list存入数据库之TypeHanlder类转换器
  • 原文地址:https://www.cnblogs.com/foreverstudent/p/3308850.html
Copyright © 2011-2022 走看看