zoukankan      html  css  js  c++  java
  • java基础接口练习

    1、编写2个接口:InterfaceAInterfaceB;在接口InterfaceA中有个方法voidprintCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然后写一个类Print实现接口InterfaceAInterfaceB,要求printCapitalLetter()方法实现输出大写英文字母表的功能,printLowercaseLetter()方法实现输出小写英文字母表的功能。再写一个主类E,在主类Emain方法中创建Print的对象并赋值给InterfaceA的变量a,对象a调用printCapitalLetter方法;最后再在主类Emain方法中创建Print的对象并赋值给InterfaceB的变量b,对象b调用printLowercaseLetter方法。

    public interface InterfaceA {
        void printCapitalLetter();
    }
    public interface InterfaceB {
        void printLowercaseLetter();
    }
    public class Print implements InterfaceA,InterfaceB {
    
        @Override
        public void printLowercaseLetter() {
            char[] chr=new char[26];
            char j=65;
            for(int i=0;i<=25;i++){
                chr[i]=j;
                j++;
            }
            System.out.print("大写字母:");
            for(char temp:chr){
                System.out.print(temp);
            }
            System.out.println();
        }
    
        @Override
        public void printCapitalLetter() {
            char[] chr=new char[26];
            char j=97;
            for(int i=0;i<=25;i++){
                chr[i]=j;
                j++;
            }
            System.out.print("小写字母:");
            for(char temp:chr){
                System.out.print(temp);
            }
            System.out.println();
        }
    }
    public class E {
        public static void main(String[] args){
            InterfaceA a =new Print();
            a.printCapitalLetter();
            InterfaceB b=new Print();
            b.printLowercaseLetter();
        }
    }

     2、按要求编写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方法中使用接口回调的形式来测试实现接口的类。

    public interface InterfaceA {
        void printCapitalLetter();
        
        int method(int n);
    }
    public class ClassA implements InterfaceA{
        @Override
        public int method(int n) {
            // 1到n的和
            int sum=0;
            for(int i=0;i<=n;i++){
                sum+=i;
            }
            return sum;
        }    
        @Override
        public void printCapitalLetter() {
            // TODO 自动生成的方法存根       
        }
    public class ClassB implements InterfaceA{
        @Override
        public int method(int n) {
            //n的阶乘
            int sum=1;
            for(int i=1;i<=n;i++){
                sum*=i;
            }
            return sum;    
        } 
        @Override
        public void printCapitalLetter() {
            // TODO 自动生成的方法存根   
        }
    }
    public class E {
        public static void main(String[] args){
            InterfaceA a =new Print();
            a.printCapitalLetter();
            InterfaceB b=new Print();
            b.printLowercaseLetter();
            
            InterfaceA e=new ClassA();
            InterfaceA ee=new ClassB();
            System.out.println("1到100的和是:"+e.method(100));
            System.out.println("10的阶乘是:"+ee.method(10));
        }
    }

    3、中国特色社会主义的体制中有这样的现象:地方省政府要坚持党的领导和按照国务院的指示进行安全生产。请编写一个java应用程序描述上述的体制现象。要求如下:

    (1)该应用程序中有一个“党中央”接口:CentralPartyCommittee,该接口中有个“坚持党的领导”方法:void partyLeader()

    (2)该应用程序中有一个“国务院”抽象类:StateCouncil,该抽象类中有个“安全生产”的抽象方法:abstract void safetyInProduction()

    (3)该应用程序中有一个“省政府”类:Province,该类继承StateCouncil抽象类并且实现CentralPartyCommittee接口;在实现partyLeader()方法时输出“我们各省人民一定坚持党的领导!”;在重写safetyInProduction()方法时输出“我们各省人民一定按照国务院的指示进行安全生产!”。

    (4)该应用程序中有一个主类E,在主类E的main方法中创建Province类的对象,来测试Province类的功能。

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

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

    public interface CanSwim {
        void swim();
    }
    public interface CanFly {
        void fly();
    }
    public abstract class ActionCharacter {
        abstract void fight(String emp);
        void speak(String s){
            System.out.println(s);
        }
    }
    public class Hero extends ActionCharacter implements CanSwim,CanFly {
        String name;
        Hero(String name){
            this.name=name;
        }
        @Override
        public void fly() {
            System.out.println(name+" I can fly!");
        }
    
        @Override
        public void swim() {
            System.out.println(name+" I can swim!");
        }
    
        @Override
        void fight(String emp) {
            System.out.println(emp);
        }
    }
    public class Adventure {
    
        public static void main(String[] args) {
            Hero hb=new Hero("超人");
            hb.swim();
            hb.fly();
            hb.fight("我要Fighting!");
            hb.speak("I am superman!");
            CanFly cf=hb;
            cf.fly();
            CanSwim cs=hb;
            cs.swim();
            ActionCharacter ac=hb;
            ac.fight("我要打仗!");
            ac.speak("我是超人,我无敌!");
        }
    
    }

    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来完成+-*/运算

    public interface Compute {
        int computer(int n,int m);
    }
    public class Jia implements Compute {
        @Override
        public int computer(int n, int m) {
            return n+m;
        }
    }
    public class Jian implements Compute{
    
        @Override
        public int computer(int n, int m) {
            return n-m;
        }
    
    }
    public class Cheng implements Compute {
    
        @Override
        public int computer(int n, int m) {
            return n*m;
        }
    
    }
    public class Chu implements Compute {
        @Override
        public int computer(int n, int m) {
            int sum = 0;
            try{
                sum=n/m;
            }catch(Exception e){
                System.out.println("被除数不能为0");
            }
            return sum;
        }
    }
    public class UseCompute {
        public void useCom(Compute com, int one, int two){
            System.out.println(com.computer(one, two));
        }
    }
    public class Testcompute {
    
        public static void main(String[] args) {
            UseCompute uc=new UseCompute();
            System.out.print("10+5=");
            uc.useCom(new Jia(),10,5);
            System.out.print("10-5=");
            uc.useCom(new Jian(),10,5);
            System.out.print("10X5=");
            uc.useCom(new Cheng(),10,5);
            System.out.print("10/5=");
            uc.useCom(new Chu(),10,5);
            
            uc.useCom(new Chu(),10,0);
        }
    
    }

  • 相关阅读:
    [强网杯青少年专项赛] 惨惨战队WriteUp
    [BUUOJ记录] [HCTF 2018]WarmUp
    [WUST-CTF]Web WriteUp
    PHP check 的一些绕过技术
    [易霖博YCTF]Web WriteUp
    Java backup
    Common Knowledge
    一篇帖子教会你如何获取网盘数据
    python爬虫如何爬知乎的话题?
    浏览器的复制到剪切板功能,兼容所有浏览器,悬浮层不能复制问题解决
  • 原文地址:https://www.cnblogs.com/jingzhenhua/p/5903122.html
Copyright © 2011-2022 走看看