接口

34.编写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 zuoye0923;

public interface InterfaceA {
	void
	printCapitalLetter();

}

  

package zuoye0923;

public interface InterfaceB {

	void printLowercaseLetter();
}

  

package zuoye0923;

//实现接口InterfaceA, InterfaceB
public class Prin implements InterfaceA, InterfaceB {

	@Override
	public void printLowercaseLetter() //实现小写
	{
		String xiao="abcdefghijklmnopqrstuvwxyz";
		System.out.println(xiao);

	}

	@Override
	public void printCapitalLetter() //实现大写
	{
		String da="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
		System.out.println(da);

	}

}

  

package zuoye0923;

public class E {
//测试
	public static void main(String[] args) {
		Prin x=new Prin();
		InterfaceA a=new Prin();
		a.printCapitalLetter();
		
		InterfaceB b=new Prin();
		b.printLowercaseLetter();
		
		

	}

}

  

 

35.按要求编写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 jiekou0923;

public class Ceshi {

	public static void main(String[] args) {
		
		
		InterfaceA a=new ClassA();
		System.out.println("10的和="+a.method(10));
		
		InterfaceA b=new ClassB();
		System.out.println("10的阶乘是="+b.method(10));
		
		

	}

}

  

package jiekou0923;

public class ClassA implements InterfaceA {

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

	
}

  

package jiekou0923;

public class ClassB implements InterfaceA {
	//阶乘

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

}

  

package jiekou0923;

public class Ceshi {

	public static void main(String[] args) {
		
		
		InterfaceA a=new ClassA();
		System.out.println("10的和="+a.method(10));
		
		InterfaceA b=new ClassB();
		System.out.println("10的阶乘是="+b.method(10));
		
		

	}

}

  

 

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

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

要求如下:

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

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

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

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

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

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

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

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

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

象,来测试Province类的功能。

 

package dang;

public interface CentralPartyCommittee 
{

	void partyLeader();
}

  

package dang;
//国务院
public abstract class StateCouncil {
	
	abstract void safetyInProduction();//安全生产抽象方法

	
}

  

package dang;

//省政府
public class Province extends StateCouncil implements CentralPartyCommittee {

	@Override
	public void partyLeader() {
		System.out.println("我们各省人民一定坚持党的领导!");

	}

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

	}

}

  

package dang;

public class E {

	public static void main(String[] args) {
		Province p=new Province();
		p.safetyInProduction();
		
		CentralPartyCommittee  c=new Province();
		c.partyLeader();

	}

}

  

 

 

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

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 yunsuan;

public interface Compute {
	
	int computer(int n,int m);

}

 

  

package yunsuan;

public class Jia implements Compute {

	@Override
	public int computer(int n, int m) //加法
	{
		int he;
		he=n+m;
		return he;
	}

}

  

package yunsuan;

public class Jian implements Compute {

	@Override
	public int computer(int n, int m) {


		int cha=n-m;
		return cha;
	}

}

  

package yunsuan;

public class Cheng implements Compute {

	@Override
	public int computer(int n, int m) {
		int ji=n*m;
		return ji;
	}

}

  

package yunsuan;

public class Chu implements Compute {

	@Override
	public int computer(int n, int m) {
		if(m==0)
		{
			System.out.println("被除数不能为0");
		}
		
		int shang=n/m;
			
		return shang;
	}

}

  

package yunsuan;

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

}

  

package yunsuan;

public class E {

	public static void main(String[] args) {
		
		UseCompute u=new UseCompute();
		System.out.print("1+3=");
		u.useCom(new Jia(), 1, 3);
		
		System.out.print("1-3=");
		u.useCom(new Jian(), 1, 3);
		
		System.out.print("1*3=");
		u.useCom(new Cheng(), 1, 3);
		
		System.out.print("1/3=");
		u.useCom(new Chu(), 1, 3);
		

	}

}

  

 

 

 

package chaoren;
	//定义有用的接口
public interface CanSwim {
	
	void swim();

}

  

package chaoren;

//定义会飞的接口
public interface CanFly {

	void fly();
}

  

package chaoren;

public  abstract class  ActionCharacter {
	
	//声明抽象方法
	abstract void fight(String emp);//创建战斗的方法
	abstract void speak(String s);//说话

}

  

package chaoren;

//实现父类所有方法

public class Hero extends ActionCharacter implements CanFly, CanSwim{


	String name;//属性
	

	public Hero(String name) {
		super();
		this.name = name;
	}

	@Override
	public void swim() {
		System.out.println("我是"+this.name+",我会游泳");

	}

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

	}

	@Override
	void fight(String emp) {
		System.out.println(emp);

	}

	@Override
	void speak(String s) {
		System.out.println("我是"+this.name+s);

	}
	
	
	

}

  

package chaoren;

public class Adventure {

	public static void main(String[] args) 
	{
		
		Hero hb=new Hero("超人");
		hb.swim();
		hb.fly();
		
		CanFly cf=hb;
		cf.fly();
		CanSwim cs=hb;
		cs.swim();
		
		ActionCharacter ac=hb;
		ac.fight("我会说各地方言");
		ac.fight("前方有敌人,我要去战斗");
	}

}

  

 

posted @ 2016-09-24 08:20  琢磨先生  阅读(428)  评论(0编辑  收藏  举报
AmazingCounters.com