• 抽象类和接口


    抽象类

    修饰符abstract

    package com.kuang.oop.Demo10;
    //抽象类
    public abstract class Action {
        //抽象方法,只有方法名,没有具体实现;通过子类实现
        public abstract void run();
    
        //正常方法
        public void speak(){
            System.out.println("speak");
        }
    
    }
    ==========================================================
    public class Run extends Action{
        //子类继承抽象类,需要实现其抽象方法
        @Override
        public void run() {
            System.out.println("run");
        }
    }
    

    注意

    1. 抽象类只是一种约束,不能通过new来实例化,需要通过子类实现它
    2. 抽象类中可以写普通方法
    3. 抽象方法必须写在抽象类中,子类继承抽象类时,必须实现父类的抽象方法
    4. 类是单继承,接口可以实现多继承

    接口

    接口的本质

    接口是一种规范,使代码的约束和具体实现相分离,提高开发效率

    类和接口

    • 普通类:只有具体的实现
    • 抽象类:abstract,有抽象的方法,也可以有具体的实现
    • 接口:interface,只有抽象的定义、规范
    package com.kuang.oop.Demo10;
    //关键字:interface
    public interface UserService {
        //接口中定义的常量默认是全局,public static final,一般不会在接口中这样使用
        int AGE=10;
        //接口定义的方法默认是public abstract
        void speak();
    
        void eat(String food);
    }
    
    public interface TimeService {
        void time();
    }
    
    =============================================================
    //接口可多继承
    public class UserServiceImpl implements UserService,TimeService{
        
        @Override
        public void time() {
           	//具体实现 
        }
    
        @Override
        public void speak() {
    		//具体实现
        }
    
        @Override
        public void eat(String food) {
    		//具体实现
        }
    }
    

    接口总结

    1. 接口是抽象的约束
    2. 接口定义一些方法,让不同的人去实现
    3. 接口中定义常量,默认是public static final
    4. 接口中定义方法,默认是public static
    5. 接口没有构造器,无法被实例化
    6. 接口实现类,通过implements可对单个或多个接口进行实现,重写接口方法
  • 相关阅读:
    python数据类型以及模块的含义
    python基础语言以及if/while语句结构
    subprocess模块
    linux 管道通信socket 全双工示例
    整体框架
    licode_WebrtcConnection
    webrtc杂谈(转)
    修改背景颜色
    激活NX窗口的按钮
    NX屏蔽窗口的按钮
  • 原文地址:https://www.cnblogs.com/zuozs/p/14402904.html
Copyright © 2020-2023  润新知