接口与抽象类

接口中的属性 默认是 public static final类型  就算你不加 默认也是存在

方法默认都是public abstract类型 不加默认也存在

比如

interface K

{

    String abc="sdfd";

    void add() throws Exception;

}

实际上编译时 是这样

interface K

{

    Public static final String abc="sdfd";

    public abstract void add() throws Exception;

}

 

为什么属性是static

   因为 接口不能实例化,非静态变量必须是实例化的对象或则有方法体的方法可以可以调用 所以不是静态就没有意义了

为什么必须是 public

  因为接口本来就是一种约束 定义抽象方法 就是约束子类必须去实现 必须是public 否则访问不到

  属性不定义成public 外界访问不到 同样没有意义了

为什么方法是abastract

因为带有abstract 关键字的方法,子类才必须实现 所以带有abstract关键字的方法

不能带有final  abstract 是子类必须继承  final 是该方法不能被重写 所以会产生冲突

 比如

interface K

{

    Public String abc="sdfd";

    public void add() throws Exception;

}

 

public class H implements K{

    public String abc="";

    public  final void add() {

       System.out.println(K.abc);

    }

    public static void main(String[] args) {

       H h=new H();

       h.add();

    }

}

 

子类实现接口时基本的结构必须与接口一致,你不能再方法上添加如 static修饰符

不得将 public 修饰符改成private  但是你可以加上修饰符 final 表示子类的子类不能重写该方法

 

其实继承接口实现方法 继承类 重写方法 的语法是一致的

 

接口可以继承接口.抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数(这句话有点问题 看下面例子 V类并没有明确的构造函数 只有默认的构造函数).

 

class V implements IV{

    public void add()

    {

       System.out.println("add");

    }

}

interface IV

{

    public void add();

}

interface IV1

{

    public void add();

}

public abstract class 抽象类继承 extends V implements IV,IV1  {

 

    public  void add() {

       // TODO Auto-generated method stub

       super.add();

    }

}

 

抽象类 与接口的区别

1接口内只能是功能的定义,抽象类中可以包括功能的定义和功能的实现。

 2. 抽象类是用来extends的,而继承有一定的局限性,只能继承一个类
而接口就不同,可以同时实现多个接口

3 接口字段定义默认为public static final,而抽象类的则默认为friendly

转载于:https://www.cnblogs.com/liaomin416100569/archive/2009/12/04/9332099.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值