A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  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. }
复制代码


这是我自己写的不知道对不对

10 个回复

倒序浏览
沙发沙发。。。。。。。。。。。
回复 使用道具 举报
Bellriver 发表于 2016-5-23 22:43
沙发沙发。。。。。。。。。。。

哈哈哈哈哈哈哈哈
回复 使用道具 举报
Bellriver 发表于 2016-5-23 22:45
哈哈哈哈哈哈哈哈

jfosijosijgjarom;larmhoaerkh
回复 使用道具 举报
希望有大神能指点一下
回复 使用道具 举报
我来学习学习
回复 使用道具 举报
niuniuinioasgljgpkajgparoeh
回复 使用道具 举报
Bellriver 发表于 2016-5-23 22:47
jfosijosijgjarom;larmhoaerkh

高手啊 满分送给你
回复 使用道具 举报
匿名内部类,你累不累累不累?
回复 使用道具 举报
jkgigughjfytdrtxgfgcnghk
回复 使用道具 举报
Bellriver 发表于 2016-5-23 22:52
jkgigughjfytdrtxgfgcnghk

jslkjgaslgjas;k'hk;hdka'
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马