JAVA抽象类和接口的介绍及异同点

 

目录

抽象类定义和性质

抽象类定义代码实例

抽象类定义规则

接口

接口的定义

接口中的属性

继承接口

抽象类与接口的比较 


抽象类定义和性质

   在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类

抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。

    由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。

父类包含了子类集合的常见的方法,但是由于父类本身是抽象的,所以不能使用这些方法。

    在 Java 中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口

抽象类定义代码实例

在 Java 语言中使用 abstract class 来定义抽象类。如下实例:

public abstract class Employee
{
   private String name;
   private String address;
   private int number;
}

抽象类定义规则

1.抽象类和抽象方法必须用abstact关键字来修饰

2.抽象类不能直接实例化,也就是不能直接使用new关键字产生对象

People p = new People(); //错误,People是抽象类,无法实例化
3.抽象方法定义时,只需要声明,不需要实现

4.含抽象方法的类必须被声明为抽象类,抽象类的子类必须实现所有的抽象方法后,才能被实例化,否则这个子类还是个抽象类

接口

接口是一种与类相似的结构,用于为对象定义共同的操作
 

接口在许多方面都与抽象类相似,但他的目的是指明相关或者不相关类的对象的共同行为。例如,使用适当的接口,可以指明这些对象是可比较的、可食用的或者可克隆的。 

接口的定义

·接口定义的通用格式:

 

public interface 接口名称 {
}    

  (方法头...) 
}

·接口中的所有方法都是public,抽象方法。 一个类可以实现一个或者多个接口。

接口中的属性

·一个接口可以有属性: 在接口中的所有属性都为 public、final 和 static.

·因为他们会自动地变为 final, 所以你必须为它们提供初始化值。

public interface Doable
{
  int FIELD1 = 1, FIELD2 = 2;
  (Method headers...)
}

·在这个接口中, FIELD1 和 FIELD2 是 public final static int 变量。

·任何实现这个接口的类都可以访问这些变量。 

继承接口

`与类的继承类似,接口之间也可以继承

`接口只能继承接口,而不能继承类

`类的继承类似,接口的继承也表达了“is-a”的逻辑

`与类只能继承一个父类不同,接口可以继承多个父接口,彼此以逗号隔开(各父接口的顺序可任意),表达的逻辑是子接口既是一种父接口1,也是一种父接口2,… 。            

抽象类与接口的比较 

-->从语法层面 

抽象类与接口是Java提供的对现实世界中的实体进行抽象的两种机制,二者具有很大的相似性,同时也具有明显的区别。

        

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值