zoukankan      html  css  js  c++  java
  • 接口

    一、           接口(共7题)

    34.编写2个接口:InterfaceA和InterfaceB;在接口InterfaceA中有个方法void

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

    后写一个类Print实现接口InterfaceA和Interfac]’eB,要求printCapitalLetter()方法

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

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

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

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

    printLowercaseLetter方法。

     

    package lianxi;
    
    public interface InterfaceA {
        void printCapitalLetter();
    
    
    }
    package lianxi;
    
    public interface InterfaceB {
        void printLowercaseLetter();
    }
    package lianxi;
    
    public class Print1 implements InterfaceA, InterfaceB {
    
        @Override
        public void printLowercaseLetter() {
            for (int i = 97; i < 123; i++) {
                System.out.print((char)i);
                
                
            }
               System.out.println();
        }
    
        @Override
        public void printCapitalLetter() {
            for (int i =65; i < 91; i++) {
                System.out.print((char)i);
                
            }
               System.out.println();
        }
    
    }
    package lianxi;
    
    public class E {
    
    public static void main(String[] args) {
    
         InterfaceA a=new Print1();
         InterfaceB b=new Print1();
         a.printCapitalLetter();
         b.printLowercaseLetter();
        
        
    }
        
    
    }

    35.按要求编写Java程序:

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

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

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

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

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

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

    接口的类。

    package a;
    
    public interface InterfaceA {
        int method(int n);
    
    }
    package a;
    
    public class ClassA implements InterfaceA {
    
        public int method(int n) {
            int sum=0;
            for (int i = 1; i <=n; i++) 
            {            
                sum+=i;            
            }
            System.out.println("1+2+3+......+"+n+"="+sum);
            return sum;
        }
    
    }
    package a;
    
    public class ClassB implements InterfaceA {
    
        public int method(int n) {
            int sum=1;
            for (int i = 1; i <=n; i++) 
            {            
                sum*=i;            
            }
            System.out.println(n+"!="+sum);
            return sum;
        }
    
    }
    package a;
    
    public class E {
    
        public static void main(String[] args) {
            InterfaceA a=new ClassA();
            InterfaceA b=new ClassB();
            a.method(5);
            b.method(5);
    
        }
    
    }

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

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

    要求如下:

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

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

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

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

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

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

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

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

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

    象,来测试Province类的功能。

     

    package a;
    
    public interface CentralPartyCommittee {
        void partyLeader();
    
    }
    package a;
    
    public abstract class StateCouncil{
        
        abstract void safetyInProduction();
        
    }
    package a;
    
    public class Province extends StateCouncil implements CentralPartyCommittee {
    
        public void partyLeader() {
            System.out.println("我们各省人民一定坚持党的领导!");
    
        }
    
        @Override
        void safetyInProduction() {
            System.out.println("我们各省人民一定按照国务院的指示进行安全生产!");
    
        }
    
    }
    package a;
    
    public class E1 {
    
        public static void main(String[] args) {
            Province p=new Province();
            CentralPartyCommittee a=p;
            StateCouncil b=p;
            a.partyLeader();
            b.safetyInProduction();
    
        }
    
    }

     

    37.看下图实现如下接口和类,并完成Adventure中的主方法。

     

     

    package a;
    
    public interface CanSwim {
    
        void swim();
    }
    package a;
    
    public interface CanFly {
        void fly();
    
    }
    package a;
    
    public abstract class ActionCharacter {
        public abstract void fight(String emp);
        
        
             public void speak(String s)
            {
                 System.out.println(s);
            }
        
    
    }
    package a;
    
    public class Hero extends ActionCharacter implements CanSwim, CanFly {
        private String name;
        
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public Hero(String name) {
            super();
            this.name = name;
        }
    
        @Override
        public void fly() {
            System.out.println(name+"");
    
        }
    
        @Override
        public void swim() {
            System.out.println(name+"  游泳");
    
        }
    
        public void fight(String emp) {
            
            System.out.println(name+"  武器"+emp+"  戦斗");
        }
    
    }
    package a;
    
    public class Adventure {
    
        public static void main(String[] args) {
            Hero hb=new Hero("超人");
            hb.swim();
            hb.fly();
            hb.fight("拳头");
            CanFly cf=hb;
            cf.fly();
            CanSwim cs=hb;
            cs.swim();
            ActionCharacter  ac=hb;
            ac.speak("为了正义");
            ac.fight("蛮力");
    
        }
    
        
    }

    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 b;
    
    public interface Computer {
        int computer(int n,int m);
    
    }
    package b;
    
    public class Jia implements Computer {
    
        @Override
        public int computer(int n, int m) {
            int jia;
            jia=m+n;
            System.out.println(m+"+"+n+"="+jia);
            return jia;
        }
    
    }
    package b;
    
    public class Jian implements Computer {
    
        @Override
        public int computer(int n, int m) {
            int jian;
            jian=m-n;
            System.out.println(m+"-"+n+"="+jian);
            return jian;
        }
    
    }
    package b;
    
    public class Cheng implements Computer {
    
        @Override
        public int computer(int n, int m) {
            int cheng;
            cheng=m*n;
            System.out.println(m+"*"+n+"="+cheng);
            return cheng;
        }
    
    }
    package b;
    
    public class Chu implements Computer {
    
        @Override
        public int computer(int n, int m) {
            int chu;
            chu=m/n;
            System.out.println(m+"/"+n+"="+chu);
            return chu;
        }
    
    }
    package b;
    
    public class UseComputer implements Computer {
    
        @Override
        public int computer(int n, int m) {
            
            return 0;
        }
        
        
        public void useCom(Computer com, int n, int m)
        {
            com.computer(n, m);
        }
        
    
    }
    package b;
    
    public class TestComputer {
    
        public static void main(String[] args) {
        UseComputer m=new UseComputer();
        Jia a=new Jia();
        Jian b=new Jian();
        Cheng c=new Cheng();
        Chu d=new Chu();
        m.useCom(a, 3, 5);
        m.useCom(b, 3, 5);
        m.useCom(c, 3, 5);
        m.useCom(d, 3, 5);
        }
    
    }

    39.按要求编写一个Java应用程序程序:

    (1)定义一个接口CanFly,描述会飞的方法public void fly();

    (2)分别定义类飞机和鸟,实现CanFly接口。

    (3)定义一个测试类,测试飞机和鸟,在main方法中创建飞机对象和鸟对象,

    再定义一个makeFly()方法,其中让会飞的事物飞。并在main方法中调用该方法,

    让飞机和鸟起飞。

     

    package com.hry.test;
    
    //代表会飞的事物
    public interface CanFly {
        
        void fly();
        
    
    }
    package com.hry.test;
    
    //飞机
    //实现了会飞的事物的能力
    public class Plane implements CanFly{
    
        @Override
        public void fly() {
            // TODO 自动生成的方法存根
            System.out.println("我是飞机,我能飞");
        }
    
        
    }
    package com.hry.test;
    
    //
    public class Bird implements CanFly{
    
        @Override
        public void fly() {
            // TODO 自动生成的方法存根
            System.out.println("我是鸟,我能飞");
        }
    
    }
    package com.hry.test;
    
    public class TestFly {
    
        public static void main(String[] args) {
            // TODO 自动生成的方法存根
            //实例化 飞机
            Plane p=new Plane();
            new TestFly().makeFly(p);
            
            //实例化 鸟
            Bird b=new Bird();    
            new TestFly().makeFly(b);
        }
    
            //让会飞的事物飞起来
            public void makeFly(CanFly p)
            {
                p.fly();
                
            }
        
    }

     

  • 相关阅读:
    多项式多点求值和插值
    Java Dao设计模式
    (转)HTTP长连接和短连接
    JavaScript——this关键字
    JavaScript——Prototype详探
    JavaScript——特殊点总结
    JavaScript——正则表达式
    JavaScript——Window对象
    JavaScript——this、constructor、prototype
    JavaScript——事件模型
  • 原文地址:https://www.cnblogs.com/hanruyue/p/5901674.html
Copyright © 2011-2022 走看看