zoukankan      html  css  js  c++  java
  • 接口

    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("前方有敌人,我要去战斗");
    	}
    
    }
    

      

  • 相关阅读:
    eclipse中svn的各种状态图标详解
    Invalid configuation file. File "**********" was created by a VMware product with more feature than this version of VMware Workstation and cannot be
    linux下tomcat无法访问问题(换一种说法:无法访问8080端口)
    安装MySQL start Service(无法启动服务)
    eclipse下SVN subclipse插件
    tomcat启动窗口中的时间与系统时间不一致
    关于如果从SQLSERVER中获取 数据库信息 或者 表信息
    有关google的appengine部署服务器的简单教程
    部署到Google App Engine时中途退出后引起的问题
    重温WCF之数据契约中使用枚举(转载)(十一)
  • 原文地址:https://www.cnblogs.com/liuyanzeng/p/5902371.html
Copyright © 2011-2022 走看看