java抽象方法_JAVA抽象类和抽象方法(abstract)

一、抽象(abstract)的使用

当父类的某些方法不确定时,可以用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]。

我们都知道,父类是将子类所共同拥有的属性和方法进行抽取,这些属性和方法中,有的是已经明确实现了的,有的还无法确定,那么我们就可以将其定义成抽象,在后日子类进行重用,进行具体化。这样,抽象类也就诞生了。

语法格式

abstract  类名{ }

public abstract class Animal {

}

例如,定义了“动物”父类,其中“动物名称”和“动物年龄”属性已经明确了,但是“动物叫”的方法没有明确,此时就可以将“动物叫”定义为抽象方法。

所以,抽象类是为了把相同的但不确定的东西的提取出来,为了以后的重用。定义成抽象类的目的,就是为了在子类中实现抽象类。

48304ba5e6f9fe08f3fa1abda7d326ab.png

packagejavastudy;

public classAbstractDemo1 {

public static voidmain(String[] args) {

//TODO Auto-generated method stub

}

}

//这就是一个抽象类

abstract classAnimal {

String name;

intage;

//动物会叫

public abstract void cry(); //不确定动物怎么叫的。定义成抽象方法,来解决父类方法的不确定性。抽象方法在父类中不能实现,所以没有函数体。但在后续在继承时,要具体实现此方法。

}

//抽象类可以被继承

//当继承的父类是抽象类时,需要将抽象类中的所有抽象方法全部实现。

class cat extendsAnimal {

//实现父类的cry抽象方法

public voidcry() {

System.out.println("猫叫:");

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

二、用abstract修饰的类,即抽象类;用abstract修饰的方法,即抽象方法。

抽象方法没有具体的实现,这是一种不完整的类,所以直接实例化也就没有意义了语法:

访问修饰符 abstract 返回值类型 方法名

public abstract class Animal {  protected abstract void eat(); }

抽象方法不能有方法主体。格式如下:

abstract void xxx();

三、抽象类和抽象方法的关系

抽象类中可以没有抽象方法

有抽象方法的类必然是抽象类

用static或final修饰的方法不能声明为抽象方法

四、抽象类的成员

1.   成员变量

         可以是变量,也可以是常量

    2.  成员方法

       可以是抽象方法,也可以是普通方法

五、抽象类的构造方法

抽象类有构造方法但不能被实例化

 由子类继承该抽象类,实例化子类

 抽象类的子类要么实现父类的抽象方法,要么该子类继续抽象

六、抽象类中不一定要包含abstrace方法。也就是了,抽象中可以没有abstract方法。一旦类中包含了abstract方法,那类该类必须声明为abstract类。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值