博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java编程一般类抽象类的定义,抽象类_Java面向对象 - 编程那点事
阅读量:6454 次
发布时间:2019-06-23

本文共 1016 字,大约阅读时间需要 3 分钟。

当定义一个类时,常常需要定义一些方法来描述该类的行为特征,但有时这些方法的实现方式是无法确定的。例如前面在定义Animal类时,shout()方法用于表示动物的叫声,但是针对不同的动物,叫声也是不同的,因此在shout()方法中无法准确描述动物的叫声。

针对上面描述的情况,Java允许在定义方法时不写方法体,不包含方法体的方法为抽象方法,抽象方法必须使用abstract关键字来修饰,具体示例如下:abstract void shout(); //定义抽象方法shout()

当一个类中包含了抽象方法,该类必须使用abstract关键字来修饰,使用abstract关键字修饰的类为抽象类,具体示例如下:abstract void shout(); //定义抽象方法shout()

当一个类中包含了抽象方法,该类必须使用abstract关键字来修饰,使用abstract关键字修饰的类为抽象类,具体示例如下://定义抽象类Animal

abstract class Animal {

//定义抽象方法shout()

abstract int shout();

}

在定义抽象类时需要注意,包含抽象方法的类必须声明为抽象类,但抽象类可以不包含任何抽象方法,只需使用abstract关键字来修饰即可。另外,抽象类是不可以被实例化的,因为抽象类中有可能包含抽象方法,抽象方法是没有方法体的,不可以被调用。如果想调用抽象类中定义的方法,则需要创建一个子类,在子类中将抽象类中的抽象方法进行实现。接下来通过一个案例来学习如何实现抽象类中的方法。// 定义抽象类animal

abstract class Animal {

// 定义抽象方法shout

abstract void shout();

}

// 定义dog类继承抽象方法Animal

class Dog extends Animal {

// 实现抽象方法shout

void shout() {

System.out.println("汪汪汪汪");

}

}

public class Example {

public static void main(String[] args) {

Dog dog = new Dog();

dog.shout();

}

}

运行结果:汪汪汪汪

从运行结果可以看出,子类实现了父类的抽象方法后,可以正常进行实例化,并通过实例化对象调用方法。

转载地址:http://ujyzo.baihongyu.com/

你可能感兴趣的文章
nopCommerce的源代码结构和架构
查看>>
java 接口与继承
查看>>
ARM裸机开发之交叉工具链和MakeFile工程管理
查看>>
stm32外部时钟源8M换成12M后库函数相应修改总结
查看>>
如何使用 Bootstrap 搭建更合理的 HTML 结构
查看>>
ios中地图
查看>>
Hive优化之谓词下推
查看>>
寒假编程总结1
查看>>
CSS学习笔记11 CSS背景
查看>>
nginx启动停止
查看>>
从客户端(XXX)中检测到有潜在危险的Request.Form 值
查看>>
Thread: BooleanRT : Realtime 3D boolean operations for (Runtime,Editor)
查看>>
好看的大头玫瑰
查看>>
O033、Terminate Instance 操作详解
查看>>
摸索Flash移动开发--素材处理
查看>>
Session对象的集合
查看>>
通过安全字符串过滤非法字符
查看>>
公司git流程图,广告业务术语
查看>>
Java同步容器总结
查看>>
visual studio 显示引用关系 作者更改项
查看>>