码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA的多态

时间:2018-10-17 22:17:07      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:[]   extend   mys   矩形   bst   demo   double   int   函数返回   

多态

 1 abstract class MyShape {
 2     public abstract void getArea();
 3 
 4     public abstract void getLength();
 5 }
 6 
 7 class Circle extends MyShape {
 8 
 9     public static final double PI = 3.14;
10     double r;
11 
12     public Circle(double r) {
13         this.r = r;
14     }
15 
16     public void getArea() {
17         System.out.println("圆形的面积:" + PI * r * r);
18     }
19 
20     public void getLength() {
21         System.out.println("圆形的周长:" + 2 * PI * r);
22     }
23 }
24 
25 class Rect extends MyShape {
26 
27     int width;
28     int height;
29 
30     public Rect(int width, int height) {
31         this.width = width;
32         this.height = height;
33     }
34 
35     public void getArea() {
36         System.out.println("矩形的面积:" + width * height);
37     }
38 
39     public void getLength() {
40         System.out.println("矩形的周长:" + 2 * (width + height));
41     }
42 }
43 
44 public class Demo {
45     // 1、定义一个函数接收任意类型的图形对象
46     public static void printThe(MyShape s) {
47         s.getArea();
48         s.getLength();
49     }
50 
51     // 2、定义一个函数返回任意类型的图形对象
52     public static MyShape getSharp(int i) {
53         if (i == 0) {
54             return new Circle(4.0);
55         } else {
56             return new Rect(3, 4);
57         }
58     }
59 
60     public static void main(String[] args) {
61         Circle c = new Circle(4.0);
62         printThe(c);
63         Rect r = new Rect(3, 4);
64         printThe(r);
65 
66         MyShape ms = getSharp(0);
67         ms.getArea();
68         ms.getLength();
69     }
70 }

 

JAVA的多态

标签:[]   extend   mys   矩形   bst   demo   double   int   函数返回   

原文地址:https://www.cnblogs.com/ronle/p/9807194.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!