zoukankan      html  css  js  c++  java
  • 抽象类和接口

    抽象类

    修饰符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可对单个或多个接口进行实现,重写接口方法
  • 相关阅读:
    Entity Framework 6 (7) vs NHibernate 4: DDD perspective(纯净DDD很难很难...)
    asp.net解决高并发的方案
    我所经历的SAP选型[转]
    为什么我不再用 .NET 框架
    Why I Left the .NET Framework
    Docker 传奇之 dotCloud
    ICE概述
    .NET Out Of Memory Exception
    iOS-申请邓白氏编码的超详细流程介绍
    .NET对象与Windows句柄(三):句柄泄露实例分析
  • 原文地址:https://www.cnblogs.com/zuozs/p/14402904.html
Copyright © 2011-2022 走看看