• 抽象类、接口


    为什么要用抽象类:

        子类万一没有重写正确,也没有提示。 

    假设父类的代码如下

    public class USB {
         public void QiDong(){
                
         }
         public void TingZhi(){
             
         }
    }

    子类中的代码如下:对父类中的方法的重写

    public class UPan extends USB {      
        public void Qidong(){            //这里的Qidong 并不是对父类函数的重写
            System.out.println("u盘启动了");
        }
        public void TingZhi(){
            System.out.println("u盘停止运行了");
        }
    }

    这样的代码,在Eclipse中是不会报错的

    抽象类:不知道是具体什么东西的类。

    写法:abstract class 类名

    public abstract class USB {
    
    }

    抽象方法:不知道是具体是做什么的方法;

    写法:abstract 返回类型 函数名(形参);      抽象方法不需要写函数体

    派生类中,可以不实现某些抽象方法,但派生类必须要声明为抽象类。
    抽象类中,可以有抽象方法,也可以有非抽象方法。抽象类中还可以有成员变量。

    public abstract class USB {
          public  String JiaGe;
    
         public abstract void QiDong();
    public abstract void TingZhi(); }

     接口:

    接口的作用:主要是起一个约束的作用  可以理解成为构架一个大框  代码格式只能按照规定的格式写

    定义:      文件—新建—接口       // 接口名首字母加一个大写的I

    接口定义时,接口名字尽量是形容词,或者描述性的词

    接口的内容尽量的少,方便灵活使用         —接口分离原则

    interface 接口名 extends 父接口列表{
    
        final 类型 常量名=值;                     //规定了需要按照什么格式去写,如果和这个格式不统一,就会报错
    
        public void 方法名(形参);
    }

     接口的实现:

     abstract class 类名 extends 父类 implements 接口列表{

     前面说道接口的作用就是约束,那么具体来看一下是怎么约束的

    创建一个接口     新建—接口   在接口中录入以下代码

    public interface IJiSuan {
    
        public int a=0;
        
        public void Suan(int a, int b);
    }

    然后我们新建一个类   新建-类  添加接口,点击确定,就会自动生成以下代码;

    public abstract class YunSuan implements IJiSuan {
    
        @Override
        public void Suan(int a, int b) {
            // TODO 自动生成的方法存根
    
        }
    
    }

    假设我们将方法名改成   suan   系统就会自动报错

     final  可以修饰成员变量(常量)、成员方法(不允许重写)、类(不允许被继承) 

      

  • 相关阅读:
    设计模式 — 责任链模式
    BlockingQueue 阻塞队列(生产/消费者队列)
    DDD工作流持久化(十六)
    js中匿名函数和回调函数
    DDD模型领域WF到领域层(十五)
    DDD领域模型系统的工作流(十四)
    DDD领域模型数据访问权限之权限(十二)
    DDD领域模型数据访问之对象(十一)
    DDD领域模型数据访问权限之用户权限(十)
    DDD领域模型数据访问权限(九)
  • 原文地址:https://www.cnblogs.com/zhaotiancheng/p/6235150.html
Copyright © 2020-2023  润新知