zoukankan      html  css  js  c++  java
  • 关于final关键字和抽象类,接口

    final主要用于修饰类,方法以及属性

    当用于修饰类时,则这个类不能被子类继承,换而言之该类没有子类

    当用于修饰方法时,该方法也是不能被复写的

    当用于修饰属性时,同理属性值不能被更改

    抽象类,当存在抽象方法时,该类就是抽象类,需要加abstract修饰符,另外该抽象方法必须需要被继承它的子类所重写。

    接口可以多实现,可以理解成一个特殊的类,只是这个类里面是由常量以及公共的抽象方法组成的

    Interface demo{
       public static final int AGE = 10;
       public abstract void tell()
       {}
    
    }
    
    Interface demo2{
      public abstract void say()
     {}
    }
    
    //一个接口可以继承多个接口,弥补了单继承的不足
    interface demo3 extends demo,demo1{
    }
    
    class M{
        public abstract void printf(){} 
    }
    class A extends M implements demo,demo2
    {
       //必须复写tell方法
       public void tell(){}
       
       public void say(){}
    }
    
    class go
    {
       public static void main(String[] args)
      {
          A a=new a();
          a.tell();
          a.say();
          a.printf();
      }
    
    }
    

    一个接口可以实现单继承超类,但是可以多继承接口,可以弥补单继承的不足

    一个类可以继承多个接口,单继承超类

    接口和抽象类的区别:

    继承接口必须复写里面所有的方法,并且接口是没有私有变量或者方法的,但是抽象类可以有自己的私有变量或者方法,另外只必须复写其中的抽象方法,其他可以看程序的需要适当复写。

  • 相关阅读:
    Sicily shortest path in unweighted graph
    Sicily connect components in undirected graph
    Sicily 1931. 卡片游戏
    Sicily 1021. Couples
    c++ 高效文本读写
    Sicily 1129. ISBN
    Sicily 1133. SPAM
    Sicily 1282. Computer Game
    小工具?不,这是小工具的集合!
    .Net Core建站(4):FTP发布项目及连接服务器数据库
  • 原文地址:https://www.cnblogs.com/Cc1231/p/4814872.html
Copyright © 2011-2022 走看看