问答详情
源自:10-5 Java 中的接口

new Interface里有两个方法如何实现

    new IgraphDo() {
        
        double circumference,size,r;
        final double  PI = 3.14;
        @Override
        public void size() {
            // TODO Auto-generated method stub
            size = PI * r * r;
            System.out.println("这个圆形的面积是:" + size);
        }
        
        @Override
        public void circumference() {
            // TODO Auto-generated method stub
            circumference = 2 * PI * r;    
            System.out.println("这个圆形的周长是:" + circumference);
        }
    }.circumference();

//以上只能实现其中一个方法,不能实现调用两个方法吗?

提问者:风舞煊天 2017-08-23 16:08

个回答

  • 超级酱油君
    2017-08-23 17:21:00

    换一种写法格式,用第一种匿名内部类的写法就可以实现

    IgraphDo i=new IgraphDo(){

     double circumference,size,r;

           final double  PI = 3.14;

           @Override

           public void size() {

               // TODO Auto-generated method stub

               size = PI * r * r;

               System.out.println("这个圆形的面积是:" + size);

           }

           

           @Override

           public void circumference() {

               // TODO Auto-generated method stub

               circumference = 2 * PI * r;    

               System.out.println("这个圆形的周长是:" + circumference);

           }

    };

    i.size();

    i.circumference();