0923接口——练习题作业

1.编写2个接口:InterfaceAInterfaceB;在接口InterfaceA中有个方法void

printCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然

后写一个类Print实现接口InterfaceAInterfaceB,要求printCapitalLetter()方法

实现输出大写英文字母表的功能,printLowercaseLetter()方法实现输出小写英文

字母表的功能。再写一个主类E,在主类Emain方法中创建Print的对象并赋

值给InterfaceA的变量a,对象a调用printCapitalLetter方法;最后再在主类E

main方法中创建Print的对象并赋值给InterfaceB的变量b,对象b调用

printLowercaseLetter方法。

package jiekouhomework2;

public interface InterfaceA {

	//方法
	void printCapitalLetter();
}

package jiekouhomework2;

public interface InterfaceB {

	//方法
	void printLowercaseLetter();
}


package jiekouhomework2;

public class Print implements InterfaceA, InterfaceB {

	@Override
	public void printLowercaseLetter() {
		//输出大写英文字母
		for(int i='a';i<'a'+26;i++)
		{
			System.out.print((char)i+" ");
		}
	}

	@Override
	public void printCapitalLetter() {
		//输出大写英文字母
		for(int i='A';i<'A'+26;i++)
		{
			System.out.print((char)i+" ");
			if((char)i=='Z')
			{
				System.out.println();
			}
		}
	}

}

package jiekouhomework2;

public class E {
	public static void main(String[] args) 
	{
		Print j=new Print();//实例化Print
		InterfaceA a=j;//向上转型
		a.printCapitalLetter();
		InterfaceB b=j;
		b.printLowercaseLetter();
		
	}

}

  

2.

按要求编写Java程序:

1)编写一个接口:InterfaceA,只含有一个方法int method(int n)

2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方

法时,要求计算1n的和;

3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口

方法时,要求计算n的阶乘(n!);

4)编写测试类E,在测试类Emain方法中使用接口回调的形式来测试实现

接口的类。

package jiekouhomework3;

public interface InterfaceA {

	int method(int n);
}


package jiekouhomework3;

public class ClassA implements InterfaceA {

	@Override
	public int method(int n) {
		int sum=0;
		for(int i=1;i<=n;i++)
		{
			sum+=i;
		}
		return sum;
	}

}


package jiekouhomework3;

public class ClassB implements InterfaceA {

	@Override
	public int method(int n) {
		int sum=1;
		for(int i=1;i<=n;i++)
		{
			sum=sum*i;
		}
		return sum;
	}

}


package jiekouhomework3;

public class E {

	public static void main(String[] args) {
		ClassA j=new ClassA();
		System.out.println("1到n的和="+j.method(10));
		ClassB k=new ClassB();
		System.out.println("n的阶乘="+k.method(10));
	}
}

  

3.

中国特色社会主义的体制中有这样的现象:地方省政府要坚持党的领导和按

照国务院的指示进行安全生产。请编写一个java应用程序描述上述的体制现象。

要求如下:

1)该应用程序中有一个“党中央”接口:CentralPartyCommittee,该接口中

有个“坚持党的领导”方法:void partyLeader()

2)该应用程序中有一个“国务院”抽象类:StateCouncil,该抽象类中有个“安

全生产”的抽象方法:abstract void safetyInProduction()

3)该应用程序中有一个“省政府”类:Province,该类继承StateCouncil抽象

类并且实现CentralPartyCommittee接口;在实现partyLeader()方法时输出“我们

各省人民一定坚持党的领导!”;在重写safetyInProduction()方法时输出“我们各

省人民一定按照国务院的指示进行安全生产!”。

4)该应用程序中有一个主类E,在主类Emain方法中创建Province类的对

象,来测试Province类的功能。

package jiekouhomework4;

public interface CentralPartyCommittee {
	void partyLeader();

	void safetyInProduction();
}


package jiekouhomework4;

public abstract class StateCouncil {

	abstract void safetyInProduction();
}


package jiekouhomework4;

public class Province extends StateCouncil implements CentralPartyCommittee {

	@Override
	public void partyLeader() {
		// TODO Auto-generated method stub
		System.out.println("我们各省人民一定坚持党的领导!");
	}

	@Override
	public void safetyInProduction() {
	
		System.out.println("我们各省人民一定按照国务院的指示进行安全生产!");
	}

}


package jiekouhomework4;

public class E {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Province p=new Province();
		p.partyLeader();
		p.safetyInProduction();
	
	}

}

  

4.

package jiekouhomework5;

public interface CanSwim {
	void swim();
}


package jiekouhomework5;

public interface CanFly {
	void fly();
}


package jiekouhomework5;

public abstract class ActionCharacter {
	public abstract void fight(String emp);
	public abstract void sperk(String s);
}


package jiekouhomework5;

public class Hero extends ActionCharacter implements CanSwim, CanFly {

	private String name;
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	@Override
	public void fly() {
		
		System.out.println(name+"会飞");
	}

	@Override
	public void swim() {
		// TODO Auto-generated method stub
		System.out.println(name+"会游泳,小样你行不");
	}

	@Override
	public void fight(String emp) {
		// TODO Auto-generated method stub
		System.out.println(name+"可以一个大十个");
	}

	@Override
	public void sperk(String s) {
		// TODO Auto-generated method stub
		System.out.println(name+"会吹牛逼");
	}

}


package jiekouhomework5;

public class Adventure {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Hero hb=new Hero();
		hb.setName("蜘蛛侠");
		
		hb.swim();
		hb.fight("123");
		hb.fly();
		CanFly cf=hb;
		CanSwim cs=hb;
		cs.swim();
		ActionCharacter ac=hb;
		ac.fight("123");
		ac.sperk("123");
		
	}

}

  

5.

利用接口做参数,写个计算器,能完成+-*/运算

1)定义一个接口Compute含有一个方法int computer(int n,int m);

2)设计四个类分别实现此接口,完成+-*/运算

3)设计一个类UseCompute,含有方法:

public void useCom(Compute com, int one, int two)

此方法要求能够:1.用传递过来的对象调用computer方法完成运算

                2.输出运算的结果

4)设计一个测试类,调用UseCompute中的方法useCom来完成+-*/运算

package jiekouhomework6;

public interface Compute {
	double computer(double n,double m);
}


package jiekouhomework6;

public class jia implements Compute {

	@Override
	public double computer(double n, double m) {
		
		return n+m;
	}

}


package jiekouhomework6;

public class jian implements Compute {

	@Override
	public double computer(double n, double m) {
		// TODO Auto-generated method stub
		return n-m;
	}

}


package jiekouhomework6;

public class cheng implements Compute {

	@Override
	public double computer(double n, double m) {
		// TODO Auto-generated method stub
		return n*m;
	}

}


package jiekouhomework6;

public class chu implements Compute {

	@Override
	public double computer(double n, double m) {
		// TODO Auto-generated method stub
		return n/m;
	}

}


package jiekouhomework6;

public class UseCompute {

	public void useCom(Compute com, int one, int two)
	{
		System.out.println(com.computer(one, two));
	}
}


package jiekouhomework6;

public class test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		UseCompute u=new UseCompute();
		jia jia=new jia();
		u.useCom(jia, 10, 20);
		u.useCom(new jian(), 10, 20);
		u.useCom(new cheng(), 10, 20);
		u.useCom(new chu(), 10, 20);	
	}
}

  

原文地址:https://www.cnblogs.com/zhangnaitao/p/5901732.html