package com.boda.xy; public class Duck implements Swimmable,Flyable{ @Override public void swim(){ System.out.println("I can swim."); } @Override public void fly(){ System.out.println("I can fly."); } public static void main(String[]args){ Duck d = new Duck(); d.swim(); d.fly(); Swimmable s = d; // 自动类型转换 s.swim(); //调用实现类的swim()方法 } }
package com.boda.xy; public interface Flyable { void fly(); }
package com.boda.xy; public interface Swimmable { void swim(); }
1.2
设计一个名为
IntSequence
的接口表示整数序列,该接口包含
boolean hasNext()
和
int next()
两个方法。定义一个名为
RandomIntSequence
的类实现
IntSequence
接口,其中包含一个
private
整型变量
n
。在
hasNext()
方法中随机生成一个两位整数,存储到变量
n
中,然后返回
true
。在
next()
方法中返回
n
的值。
package com.boda.xy; public interface IntSequence { public abstract boolean hasNext(); public abstract int next(); }
package com.boda.xy; public class RandomIntSequence implements IntSequence{ private int n; public boolean hasNext(){ n = 10 + (int)(Math.random()*90); return true; } public int next(){ return n; } }
package com.boda.xy; public class SequenceTest {public static double average(IntSequence seq, int n) { double sum = 0.0; int m = n; while (seq.hasNext() && m > 0) { sum = sum + seq.next(); m = m - 1; } return sum / n; } public static void main(String[] args) { RandomIntSequence rs = new RandomIntSequence(); double value = average(rs, 10); System.out.println(value); } }