ja抽象方法 ja抽象的概念

java抽象方法 java抽象的概念

1.1.抽象方法和抽象类(硕士)

要求:求圆和矩形的面积。

解析:无论是圆形、矩形还是其他形状的图形,只要是图形,都有面积,也就是说图形有求面积的功能。然后我们可以定义一个图的父类,它有求面积的方法,但是作为图的概念,它不是一个具体的图,所以不清楚怎么求面积。我们先把求面积的getArea方法返回到0。

父类代码:

子类代码(圆圈):

子类代码(矩形):

测试代码:

运行结果如下:

圆的面积:314.0

矩形面积:20.0

1.1.1.导致抽象方法(理解)

问题1:由于寻找不同图形的面积的算法是不同的,所以必须要求每个图形子类覆盖getArea方法。如果没有覆盖,应该以语法错误的形式给出提示。

问题Graph类中getArea方法的方法体没有意义,因为不同的图有不同的求面积算法,子类必须重写getArea方法。

为了满足上述对方法的要求,你必须使用abstract来修改方法。通过抽象修改的方法有两个特点:

n此方法没有方法体。

n要求子类覆盖这个方法。

这种方法叫做抽象方法。

1.1.2.抽象方法和抽象类(焦点)

用abstract修饰的方法称为抽象方法。

Public abstract返回类型方法名(参数);

特点:

n用抽象修饰,没有方法体,留给子类去覆盖。

n抽象方法必须在抽象类或接口中定义

用abstract修饰的类成为抽象类。

公共抽象类类名{

}

抽象类一般用Abstract作为类名的前缀,比如AbstractGraph,一眼就能看出是抽象类。

特点:

n抽象类不能创建对象,没有方法体调用抽象方法是没有意义的。

抽象类可以有抽象方法和普通方法。

n抽象类只有在拥有子类的情况下才有意义,子类必须覆盖父类的抽象方法,否则子类将被视为抽象类。

父类代码:

公共抽象类AbstractGraph {

公共抽象double get area();//没有方法体

}

子类代码:

测试类没有改变。

这一系列教程是丁琪媛·沃尔夫的基础Ja课程的内部教材。想要获得最佳的学习效果,需要配合相应的教学视频一起学习。需要完整的教学视频,请私信作者。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

发表回复

登录后才能评论