5.抽象类,接口

理解抽象类的作用

在编写一个类时,往往会为该类定义一些方法,这些方法用来描述该类的行为,那么这些方法都有具体的方法体。但是在某些情况下,某个父类只知道其子类应该包含怎样的方法,但是无法准确的知道这些子类如何具体实现这些方法,例如定义一个Shape(图形)类,这个类中有一个计算轴承的方法getL(),但是不同的Shape子类对周长的计算方式不一样,即Shape类无法准确知道其子类计算周长的方法。

可能有人会提出,既然Shape不知道如何实现getL()方法,那么就干脆不管它。这样不好.最好的解决方案可以使用抽象类。

 

通过继承可以从原有的类派生出新的类,原有的类称为父类或基类,而新的类称为子类或派生类。通过继承机制,派生出来的子类不仅可以得到父类的属性和方法,还可以定义自己的属性和方法。

Java中有一种特殊的类,专门用来作为父类,这种类被称为“抽象类”。抽象类想模板一样,其目的是要设计者根据他的格式来修改并创建新的类。但是抽象类自己不能创建对象,只能通过抽象类派生出来的子类创建对象。

掌握抽象类的特点

◆包含抽象方法的类一定是抽象类.

◆抽象方法和抽象类都用关键字abstract修饰

◆构造方法,static方法都不能定义为抽象方法。

◆抽象方法不能使用private访问控制符修饰。

◆抽象方法只需要声明,不需要实现。

◆抽象类中可以定义构造方法,但是抽象类不能创建对象。

◆子类继承抽象类时,需要重写抽象类中所有的抽象方法,除非子类也是抽象类。

掌握抽象类的语法

◆语法:

[访问控制符] abstract class 类名{

0—n个属性;

[修饰符] 返回值类型 方法名([参数列表]){

方法体;

[return 返回值;]

}

[修饰符] abstract 返回值类型 方法名([参数列表]);

}


接口(更彻底的抽象类)

理解接口的概念

抽象类是从多个类中抽象出来的模板,如果将这种模板进行的更彻底,则可以提出一种更加特殊的“抽象类”-----接口(interface). 接口中没有普通方法,接口中所有方法都是抽象方法。

掌握接口的特点

◆一个类只能继承一个直接的父类,但是一个类可以实现多个接口。(多继承)

◆接口中不能定义构造方法,接口不能实例化。

◆接口中方法全部都是抽象方法,接口中属性全部都是全局常量

◆当一个类实现(继承)某个接口时,他必须实现接口中所有的方法,除非这个类定义为抽象类。

 


 

接口就是一组对类的要求,它反映了一组没有内在联系、不相关的类之间的通讯的协议。

 

掌握接口的语法

◆语法:

[修饰符] interface 接口名{

全局常量;

抽象方法;

}



 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值