• java中抽象类和接口的区别


    java中抽象类和接口的区别

    先看一下抽象类和接口在java中的定义

    抽象类的定义

    //抽象类定义
    public abstract class AbstractClass {
    	public int x;//抽象类中可以有普通的成员变量
    	public void concretMethod(){
    		System.out.println("具体实现的方法");//具体方法的实现  在子类中可以重写  也可以不重写
    	}
    	public abstract void abstractMethod();//抽象方法   必须在子类中实现
    }
    

    接口的定义

    //接口定义
    public interface Interface {
    	public static final int y = 2;//接口中只能有static final类型的成员变量   static 表示全局变量  final表示不能修改
    	public int x = 1;//可以不用static final申明   会隐式申明为static final 必须初始化
    	
    	public abstract void  method();//接口中只能有抽象方法   不能有具体实现的方法   abstract可以不用显示申明
    }
    

    下面来分析一下两者的区别

    java抽象类

    1.java抽象类中可以有普通成员变量

    2.java抽象类中可以有抽象方法,也可以有具体实现的方法

    3.java抽象类的子类必须实现父类抽象类的方法,可以重写父类已经实现的方法,也可以不重写

    java中的接口

    1.接口中只能有static final类型的成员变量,且必须初始化,即使不显示申明成static final类型的,系统也会隐式申明为static final类型

    2.接口中只能有抽象方法

    3.实现接口的类必须实现接口所有的抽象方法

    ps:java类只能继承一个父类,可以实现多个接口

  • 相关阅读:
    ElasticSearch 2 (1)
    Vagrant (2) —— 基本安装与配置(下)
    Vagrant (1) —— 基本安装与配置(上)
    Vagrant (3) —— 复制/备份Vagrant Box
    vue中$forceUpdate的使用
    vue+ElementUi 选择框选中之后翻页进行状态保持及默认选中
    loonflow 工单系统
    一些后端知识
    前端学习计划
    async/await函数的执行顺序的理解
  • 原文地址:https://www.cnblogs.com/luckygxf/p/3518537.html
Copyright © 2020-2023  润新知