zoukankan      html  css  js  c++  java
  • JAVA基础10

    day10作业:

    第一题:
    定义一个接口Animal,包含:
    1.抽象方法: run()
    2.默认方法: breathe(),输出"动物会呼吸",同时调用静态方法 eat(),私有方法: sleep()
    3.静态方法: eat(),输出"动物都要吃东西"
    4.私有方法: sleep(),输出"动物都要休息"

    定义Dog类实现Animal接口,实现抽象方法run(),输出"狗跑得飞快"
    在测试类中创建Dog类的对象d,通过对象调用run()方法和breathe()方法,打印出如下效果:
    狗跑得飞快
    动物会呼吸
    动物都要吃东西
    动物都要休息


    第二题:
    定义一个接口Phone,包含:
    1.抽象方法: playGame()
    2.默认方法: sendMessage(),输出"发短信"
    3.静态方法: call(),输出"打电话"


    定义IPhone类实现Phone接口,实现抽象方法playGame(),输出"打王者农药,吃鸡"
    重写默认方法sendMessage(),输出"发彩信"

    在测试类中,编写代码,打印出如下语句(每句话都需调用上述方法打印):
    打电话
    打王者农药,吃鸡
    发彩信


    第三题:
    定义一个接口Animal,包含:
    1.抽象方法:run()
    2.默认方法: sleep(),输出"动物会休息"

    定义一个Dog类,实现Animal接口,
    实现抽象方法:run(),输出"如脱缰的野狗一样奔跑"
    定义自己特有的方法: eat(),输出"狗吃屎"

    定义一个Cat类,实现Animal接口,
    实现抽象方法:run(),输出"奔跑的猫毛都被撸秃了"
    定义自己特有的方法: catchMouse(),输出"猫抓老鼠"

    在测试类中定义如下方法:
    public static void printAnimal(Animal a){}
    要求在方法中编写代码实现如下功能:
    在主方法中:
    1. Animal b = new Dog();
    调用方法printAnimal()传入b对象,能在控制台输出:
    如脱缰的野狗一样奔跑
    动物会休息
    狗吃屎

    package com.hp.www;
    
    public interface Animal {
        void run();
    
        public default void sleep(){
            System.out.println("动物都会休息");
        }
    }
    package com.hp.www;
    
    public class Dog implements Animal{
        @Override
        public void run() {
            System.out.println("如脱缰的野狗一样奔跑");
        }
        void eat(){
            System.out.println("狗吃屎");
        }
    }
    package com.hp.www;
    
    public class TestDemo3 {
        public static void main(String[] args) {
    
            Animal b = new Dog();
            Animal c = new Cat();
            TestDemo3.printAnimal(b);
        }
        public static void printAnimal(Animal a){
                a.run();
                a.sleep();
                 new Dog().eat();
        }
    }


    1. Animal c = new Cat();
    调用方法printAnimal()传入c对象,能在控制台输出:
    奔跑的猫毛都被撸秃了
    动物会休息
    猫抓老鼠

    package com.hp.www;
    
    public interface Animal {
        void run();
    
        public default void sleep(){
            System.out.println("动物都会休息");
        }
    }
    package com.hp.www;
    
    public class Cat implements Animal{
        @Override
        public void run() {
            System.out.println("奔跑的猫毛都被撸秃了");
        }
         void catchMouse(){
             System.out.println("猫抓老鼠");
         }
    }
    package com.hp.www;
    
    public class TestDemo3 {
        public static void main(String[] args) {
    
            Animal b = new Dog();
            Animal c = new Cat();
            TestDemo3.printAnimal(c);
        }
        public static void printAnimal(Animal a){
                a.run();
                a.sleep();
                 new Cat().catchMouse();
        }
    }


    第四题:
    根据要求完成以下功能:
    ① 定义接口Bluetooth,要求如下:
    定义抽象方法: void btFunction()
    定义默认方法: void connecting(),要求:输出"可以连接WIFI"

    ② 定义抽象类Phone,要求如下:
    包含空参、满参构造和以下成员变量
    名称name( String 型)
    生成所有成员变量set/get方法
    定义抽象方法:void playMusic(Song song)

    ③定义类Song
    包含空参、满参构造和以下成员变量
    歌手 singer(String 型)
    歌名 name( String 型)
    生成所有成员变量set/get方法

    ④ 定义类IPhone,要求如下:
    继承抽象类 Phone,实现接口 Bluetooth
    构造方法包括:空参构造和满参构造方法(String)
    重写抽象方法:
    void btFunction(),要求:输出"支持WIFI功能"
    void playMusic(Song song),要求:输出打印"XXX手机正在播放YYY唱的ZZZ"
    PS:XXX是Phone类中的 name属性值,YYY是Song 类中的 singer属性值,ZZZ是Song 类中的 name属性值

    ⑤ 定义测试类Test,在main方法实现以下功能:
    创建并初始化一个IPhone 对象phone和一个Song 对象s,调用phone的 btFunction()、connecting()和playMusic(Song song)方法,打印如下:
    支持WIFI功能
    可以连接WIFI
    华为手机正在播放周杰伦唱的菊花残

    package demo1;
    
    public interface Bluetooth {
       abstract void btFunction();
        public default void connecting(){
            System.out.println("可以连接WIFI");
        }
    
    }
    package demo1;
    
    public abstract class Phone {
        private String name;
    
        public Phone() {
        }
    
        public Phone(String name) {
            this.name = name;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
        public abstract void playMusic(Song song);
    }
    package demo1;
    
    public class Song {
        private String singer;
        private String name;
    
        public Song() {
        }
    
        public Song(String singer, String name) {
            this.singer = singer;
            this.name = name;
        }
    
        public String getSinger() {
            return singer;
        }
    
        public void setSinger(String singer) {
            this.singer = singer;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    }
    package demo1;
    
    public class IPhone extends Phone implements Bluetooth{
        public IPhone() {
        }
    
        public IPhone(String name) {
            super(name);
        }
    
        @Override
        public void playMusic(Song song) {
    
            System.out.println(getName()+"手机正在播放"+song.getSinger()+"唱的"+song.getName());
        }
    
        @Override
        public void btFunction() {
            System.out.println("支持WIFI功能");
        }
    
    }
    package demo1;
    
    public class TestDemo1 {
        public static void main(String[] args) {
            IPhone phone = new IPhone("华为");
            Song song = new Song("周杰伦","菊花台");
            phone.btFunction();
            phone.connecting();
            phone.playMusic(song);
        }
    }




    第五题:
    根据要求完成以下功能:
    ① 定义接口Study,要求如下:
    定义抽象方法: void studyLine(Line line)
    定义默认方法: void info(),要求:依次调用stu1(),stu2()
    定义私有方法: void stu1 (),要求:输出"好好练习,天天向上"
    void stu2 (),要求:输出"镜头拍烂,月薪百万"


    ②定义类Line,包含空参、满参构造和以下成员变量
    基础班学习 basicClass(String 型)
    就业班学习 emplymentClass(String 型)
    生成所有成员变量set/get方法
    定义成员方法:void printLine(),要求:输出"练习路线,基础班学习:xxx,就业班学习:yyy",
    PS: xxx为变量basicClass值,yyy为变量emplymentClass值


    ③定义类Student,包含空参、满参构造和以下成员变量
    姓名 name(String 型)
    年龄 age(int型)
    生成所有成员变量set/get方法
    定义成员方法:void studying(Study sy),要求:输出“xxxx练习中”,然后在方法内依次调用info(),studyLine (Line line)
    PS:xxx为变量name值,参数line需要自行创建并初始化变量basicClass与 emplymentClass


    ④ 定义测试类Test,在main方法实现以下功能:
    创建并初始化一个Student对象stu,调用方法 studying(Study sy)
    sy为Study的实现类,需要实现studyLine (Line line)抽象方法,实现要求:调用参数line的printLine()方法;
    示例如下:
    苍井空练习中
    好好练习,天天向上
    镜头拍烂,月薪百万
    学习路线,基础班学习:JAVASE,就业班学习:JAVAEE

    package Demo2;
    
    public interface Study {
        void studyLine(Line line);
      public default  void info(){
            stu1();
            stu2();
      }
       static void stu1 (){
           System.out.println("好好练习,天天向上");
        }
        static void stu2 (){
            System.out.println("镜头拍烂,月薪百万");
        }
    }
    package Demo2;
    
    public class Student {
        private String name;
        private int age;
    
        public Student(String name, int age) {
            this.name = name;
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
        void studying(Study sy){
            System.out.println(name+"练习中");
            sy.info();
            Line line = new Line("JAVASE","JAVAEE");
            sy.studyLine(line);
        }
    }
    package Demo2;
    
    public class Line {
        private String basicClass;
        private String emplymentClass;
    
        public Line(String basicClass, String emplymentClass) {
            this.basicClass = basicClass;
            this.emplymentClass = emplymentClass;
        }
    
        public String getBasicClass() {
            return basicClass;
        }
    
        public void setBasicClass(String basicClass) {
            this.basicClass = basicClass;
        }
    
        public String getEmplymentClass() {
            return emplymentClass;
        }
    
        public void setEmplymentClass(String emplymentClass) {
            this.emplymentClass = emplymentClass;
        }
        void printLine(){
            System.out.println("练习路线,基础班学习"+basicClass+",就业班学习:"+emplymentClass);
        }
    }
    package Demo2;
    
    public class TestDemo2 {
        public static void main(String[] args) {
            Student stu = new Student("小红",18);
            Study sy = new Study() {
                @Override
                public void studyLine(Line line) {
                    line.printLine();
                }
            };
            stu.studying(sy);
        }
    }




  • 相关阅读:
    前端基础知识1
    mysql作业
    mysql了解知识点
    mysql3
    数据库作业2
    循环结构经典题型
    计算1
    猜数字游戏
    css的显示
    定位和position定位
  • 原文地址:https://www.cnblogs.com/coder-ahao/p/13861417.html
Copyright © 2011-2022 走看看