黑马程序员技术交流社区

标题: [代码重构]一个匿名内部类的重构 [打印本页]

作者: 可以假装看不见    时间: 2016-5-23 22:42
标题: [代码重构]一个匿名内部类的重构
  1. abstract class Geometry{
  2.     public abstract double getArea();                }
  3. class Circle extends Geometry{
  4.             double r;
  5.             Circle(double r) {
  6.         this.r=r;
  7.     }
  8.             public double getArea() {
  9.         return 3.14*r*r;
  10.     }
  11. }
  12. public  class Student{
  13.             public double calculate(Geometry g) {
  14.                         return g.getArea();        
  15.     }
  16.             public static void main(String[]args) {        
  17.         Circle c=new Circle(3);
  18.                         Student s=new Student();
  19.                 System.out.println("The area of geometry is: "+s.calculate(c));
  20.             }
  21. }
复制代码

*
*
*
*
*
以上代码重构,写成匿名内部类的
*
*
*
*
*
*
  1. abstract class Geometry {
  2.        
  3.         public abstract double getArea(double r);
  4. }

  5. public class Student {

  6.         public double calculate() {
  7.                 return new Geometry() {
  8.                         @Override
  9.                         public double getArea(double r) {
  10.                                 return 3.14 * r * r;
  11.                         }
  12.                 }.getArea(2);
  13.         }

  14.         public static void main(String[] args) {
  15.                
  16.                 Student s = new Student();
  17.                 System.out.println("The area of geometry is: " + s.calculate());
  18.         }
  19. }
复制代码


这是我自己写的不知道对不对
作者: Bellriver    时间: 2016-5-23 22:43
沙发沙发。。。。。。。。。。。
作者: Bellriver    时间: 2016-5-23 22:45
Bellriver 发表于 2016-5-23 22:43
沙发沙发。。。。。。。。。。。

哈哈哈哈哈哈哈哈
作者: Bellriver    时间: 2016-5-23 22:47
Bellriver 发表于 2016-5-23 22:45
哈哈哈哈哈哈哈哈

jfosijosijgjarom;larmhoaerkh
作者: 可以假装看不见    时间: 2016-5-23 22:47
希望有大神能指点一下
作者: Deleba    时间: 2016-5-23 22:48
我来学习学习
作者: Bellriver    时间: 2016-5-23 22:49
niuniuinioasgljgpkajgparoeh
作者: 可以假装看不见    时间: 2016-5-23 22:50
Bellriver 发表于 2016-5-23 22:47
jfosijosijgjarom;larmhoaerkh

高手啊 满分送给你
作者: wanggan123    时间: 2016-5-23 22:51
匿名内部类,你累不累累不累?
作者: Bellriver    时间: 2016-5-23 22:52
jkgigughjfytdrtxgfgcnghk
作者: Bellriver    时间: 2016-5-23 22:53
Bellriver 发表于 2016-5-23 22:52
jkgigughjfytdrtxgfgcnghk

jslkjgaslgjas;k'hk;hdka'




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2