abstract类和abstract方法

抽象模块的基础知识

抽象类的定义

用关键字abstract修饰的类称为抽象类,eg:
abstract class A{

}

抽象方法的定义

用关键字abstract修饰的方法称为抽象方法,eg:
abstract int min(int x,int y);
注意:对于抽象方法,只允许声明,不允许实现(没有方法体),而且不允许使用 final 和 abstract 同时修饰一个方法或类,
也不允许使用static修饰 abstract 方法,即抽象方法必须是实例方法

抽象类中可以有抽象方法

抽象类中可以有抽象方法,也可以没有抽象方法,也可以有非抽象方法。而非抽象类中不可以有抽象方法
如:下面的A类中的min()方法是抽象方法,max()方法是非抽象方法。
abstract class A{
abstract int min(int x,int y); //抽象方法
int max(int x, int y){ //非抽象方法
return x>y? x:y;
}
}

抽象类不能用new运算符创建对象

抽象类的子类

如果一个非抽象类是抽象类的子类,它必须重写父类的抽象方法,即去掉抽象方法的abstract修饰,给出方法体。

抽象类的对象作上转型对象

可以使用abstract类声明对象,尽管不能使用new 运算符创建该对象,但该对象可以成为 其子类对象的上转型对象,那么该对象就可以调用子类重写的方法

抽象类的理解

1、抽象类可以抽象出重要的行为标准,该行为标准用抽象方法来表示。即抽象类封装了子类必须要有的行为标准。
2、 抽象类声明的对象可以成为其子类对象的上转型对象,调用子类重写的方法,即体现子类根据抽象类里的行为标准给出的具体行为
所谓行为的标准,仅仅是方法的名字和方法的类型而已;
抽象类中的抽象方法,可以由子类去实现,即行为标准的实现由子类完成

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值