java抽象类与接口

本文介绍了Java中的抽象类和接口的概念。抽象类不能实例化,常用于被子类继承,其特点包括不能实例化、必须被继承以及抽象方法只能是public或protected。接口则是一个抽象类型,包含抽象方法的集合,它不支持实例化,可以多继承,并且所有方法默认为public abstract。接口中的变量默认为public static final。抽象类与接口的主要区别在于它们在实现和设计上的不同用途。
摘要由CSDN通过智能技术生成

一、抽象类

说到抽象类,首先就得有一个概念,即在面向对象编程中,

所有的对象都是由类描述的,但不是所有的类都用来描述对象

而那些没有足够的元素来描述对象的类,就被称为抽象类

对于抽象类而言,在 java中采用 abstract class 来定义抽象类,如:

public abstract class Student
{
   private String name;
   private String professional;
   private int age;
   public Employee(String name, String professional, int age)
   {
      System.out.println("定义一位学生");
      this.name = name;
      this.professional = professional;
      this.age = age;
   }

上述的一段代码利用抽象类定义了学生,可以看到,它和普通的类一样,有着成员变量、成员方法和构造方法。

抽象类的特点:

1. 不能实例化对象,但是存在类的其他功能。

2. 必须被继承才能被使用。

3. 抽象类中的抽象方法的修饰符只能为public或者protected,默认为public;

二、接口

对于接口来说,它在JAVA编程语言中是一个抽象类型,是抽象方法的集合。

接口不是类,但是与类的实现方式很像。

接口可以是抽象类,但抽象类不一定是接口。

接口的特点:

1.一个接口可以有多个方法。

2.接口相应的字节码文件必须在与包名称相匹配的目录结构中。

3.接口不能用于实例化对象,且没有构造方法。

4.接口支持多继承,且接口是要被类实现而不是继承。

5.接口中每一个方法都是隐式抽象的,接口中的方法会被隐式的指定为 public abstract

6.接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static final 变量

7.接口中的方法是不能在接口中实现的,只能由实现接口的类来实现接口中的方法。

三、抽象类与接口的区别

(参考自菜鸟教程) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值