抽象类和接口

抽象类和接口

 方法分类

   在写程序的过程中相信大家一定会用到方法,一个类总会写那么几个方法。比如说学生类 public class student  可以有学习的方法 public void student(){}、也可以有吃饭的方法

Public void eat(){}。这些是我们平时会用到的一些方法格式,这种格式的方法被称为普通方法,格式我们经常有写过 ——public 返回类型 方法名 (){}

 除了普通方法外还有两种方法

   构造方法——public 类名(){} 一般用于创建对象时

   抽象方法——public abstract class 方法名(); 这种方法没有方法体,也就是没有实现,所以也可以说是没有过程的方法。

 

  类的分类

方法是写在类里面的,类里面除了方法还会有属性类型,比如说常量和变量

常量是不会改变的,public static finally int age = 3;必须要给常量赋值,在后面的过程中,它的值是不变的

变量就像 public string name ; 后面可以给name各种赋值,这种可以改变的就做变量

无论常量或者变量都必须写在类的里面,这里说到类

我们可以把类分为三种

(1)普通类 就是我们平时见到的类 格式为 public class 类名{}

(2)抽象类 如字面意思,这种类是不实际的抽象的

                   格式为 public abstract class 类名 {}

     (3)接口    public interface 类名{}

这三种类有相同点,也有不同点,下面我们用表格的形式来说明

 

 

常量

变量

构造方法

普通方法

抽象方法

创建对象

普通类

×

抽象类

×

接口

×

×

×

×

 

从表格中可以看出普通类除了不能有抽象方法,其他的都可以。抽象类除了不能创建对象其他都可以。

 

而接口只能拥有常量和抽象方法

 

在接口中,因为常量和抽象方法都有修饰词(常量是static final,抽象方法是abstract),所以在这里修饰词可以省略

 

 

 

接口的继承

  有人或许会想我们用类来创建对象,实现方法,要接口和抽象类做什么呢?

 

  这里要说的是抽象类和接口是用于继承的,被当作父类。子类继承抽象类和接口时,一定要把父类的方法全部重写,也就是约束了子类方法的定义,子类方法中必须有父类这种方法。

普通类继承接口的时候,因为继承会把父类的方法继承过来,也就是接口中的抽象方法。但是普通类中不能有抽象方法,所以要把这个方法重写。

例如:

Public interface A {

   Public abstract void speak(); //这是个接口类,里面的方法是抽象方法

Public class B implements  A{

   Public void speak(){} //B类实现了A接口,所以要重写A接口的抽象方法

 

 

  在继承中用到的关键字是extends,而在实现接口时用到的关键字是implements

例如 public class A extends class B{}

      Public class A implements B {}

 

  在抽象类中还可以写上普通方法和构造方法,但是如果大家写接口的时候,只能继承接口,把接口中的方法一一实现。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值