Java编程基础-面向对象(下)

本章节是面向对象的最后一节,带领大家初步接触学习了面向对象的主要知识点,部分知识未能详尽表述,以后会推出深入学习研究文章帮助大家更好的学习了解和运用面向对象。

一、抽象类

1、引入:当定义一个类时,常常需要定义一些方法来描述该类的行为特征,但有时这些方法的实现方式是无法确定的。Java允许在定义方法时不写方法体,不包含方法体的方法为抽象方法,抽象方法必须使用abstract关键字来修饰。如:abstract void shout();当多个类中出现相同功能,但功能主体不同,这时可以进行向上抽取。这时只抽取功能定义,不抽取功能主体。抽象类往往用来表征我们在对问题领域进行分析、 设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象,我们不能把它们实例化(拿不出一个具体的东西)所以称之为抽象。

举个栗子:我们要描述“水果”,它就是一个抽象,它有质量、体积等一些共性(水果有质量),但又缺乏特性(苹果、橘子都是水果,它们有自己的特性),我们拿不出唯一一种能代表水果的东西(因为苹果、橘子都不能代表水果),可用抽象类来描述它,所以抽象类是不能够实例化的。当我们用某个类来具体描述“苹果”时,这个类就可以继承描述“水果”的抽象类,我们都知道“苹果”是一种“水果”。
2、抽象类的特点:
a)抽象方法一定在抽象类中。
b)抽象方法和抽象类都必须被abstract关键字所修饰。
c)抽象类不可以用new创建对象,因为调用抽象方法没有意义。
d)抽象类中抽象方法要被使用,必须由子类复写起所有的抽象方法后,建立子类对象调用,如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。

3、抽象类定义格式

public abstract class AbstractClass             //里面至少有一个抽象方法
{
    public int t;  //普通成员变量
    public abstract void method1();   //抽象方法,抽象类的子类在类中必须实现抽象类中的抽象方法
   public abstract void method2(); 
//非抽象方法
   publi int method4 (){
         …… //抽象类中可以定义具体方法</

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值