• java方法之间的调用以及关系(了解95%)


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

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

    Dog类:

    public class Dog implements  Animal{
    
        @Override
        public void run() {
            System.out.println("狗跑的飞快");
        }
    
        @Override
        public void breathe() {
            System.out.println("动物会呼吸");
        }
    
    
        public void sleep() {
            System.out.println("动物都要休息");
        }
    }    

    Animal 类:

    public interface Animal {
        public abstract void run();
        public  void breathe();
    
        static void eat(){
            System.out.println("动物都要吃东西");
        }
        static void sleep(){
            System.out.println("动物都要休息");
        }
    
    
    }

    主方法:

    public class Demo01{
        public static void main(String[] args) {
    
            Animal d=new Dog();
            d.run();
            d.breathe();
            Animal.eat();
            Animal.sleep();
        }
    }

    第二题:
    定义一个接口Phone,包含:
    1.抽象方法: playGame()
    2.默认方法: sendMessage(),输出"发短信"
    3.静态方法: call(),输出"打电话"
    定义IPhone类实现Phone接口,实现抽象方法playGame(),输出"打王者农药,吃鸡"
    重写默认方法sendMessage(),输出"发彩信"
    在测试类中,编写代码,打印出如下语句(每句话都需调用上述方法打印):
    打电话
    打王者农药,吃鸡
    发彩信

    Phone类:

    public interface Phone {
        public abstract void playGame();
        public default void sendMessage(){
            System.out.println("发短信");
        }
        public static void call(){
            System.out.println("打电话");
        }
    }

    IPhone类:

    public class IPhone implements Phone{
    
        @Override
        public void playGame() {
            System.out.println("约和她皆失,你知道王者农药什么英雄吗?");
        }
    
        @Override
        public void sendMessage() {
            System.out.println("发彩信");
        }
    }

    主方法:

    public class Demo02 {
        public static void main(String[] args) {
            IPhone p = new IPhone();
            Phone.call();
            p.playGame();
            p.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对象,能在控制台输出:
    如脱缰的野狗一样奔跑
    动物会休息
    狗吃屎
    1. Animal c = new Cat();
    调用方法printAnimal()传入c对象,能在控制台输出:
    奔跑的猫毛都被撸秃了
    动物会休息
    猫抓老鼠

    Animal类:

    public interface Animal {
        public static void sleep(){
            System.out.println("动物会休息");
        }
        public abstract void run();
    
    }

    Dog类:

    public class Dog implements Animal{
    
        @Override
        public void run() {
            System.out.println("如脱缰的野狗一样奔跑");
        }
        public static void eat(){
            System.out.println("怎么对小动物哪麽不好呢,编辑!");
        }
    }

    Cat类:

    public class Cat implements Animal{
    
        @Override
        public void run() {
            System.out.println("奔跑的猫毛都被撸秃了?瞧你能追的上似的");
        }
        public static void catchMouse(){
            System.out.println("猫抓老鼠,天经地义");
        }
    }

    主方法:

    public class Demo03{
        public static void printAnimal(Animal a){
    
    
        }
        public static void main(String[] args) {
            Animal b = new Dog();
            printAnimal(b);
            b.run();
            Animal.sleep();
            Dog.eat();
            Animal c = new Cat();
            c.run();
            Animal.sleep();
            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
    华为手机正在播放周杰伦唱的菊花残

    Bluetooth 类:

    public interface Bluetooth {
        public static void btFunction() {
        }
    
        public static void connecting(){
            System.out.println("可以连接WIFI,谁能把WIFI变为只能自己连");
        }
    }

    Phone类:

    public abstract class Phone{
        String name="华为";
    
    
        public Phone(String name) {
            this.name = name;
        }
    
        public Phone() {
    
        }
        public abstract void playMusic(Song song);
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
    
        public abstract void playMusic();
    }

    Song 类:

    public class Song extends Phone{
        String singer="周杰伦";
        String name="菊花残";
    
    
        public Song(String singer, String name) {
            this.singer = singer;
            this.name = name;
        }
    
        public Song() {
    
        }
    
        @Override
        public void playMusic(Song song) {
            Song s=new Song();
            s.setName("菊花残");
            s.setSinger("周杰伦");
        }
    
        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;
        }
    
        @Override
        public void playMusic() {
            System.out.println(name+"手机正在播放"+getSinger()+"唱的"+getName());
        }
    }

    IPhone 类:

    public class IPhone extends Phone implements  Bluetooth{
    
        Song s=new Song();
    
        public IPhone(String name) {
           this.name=name;
        }
    
        public IPhone() {
        }
    
        @Override
        public void playMusic(Song song) {
    
            System.out.println(name+"手机正在播放"+s.getSinger()+"唱的"+s.getName());
        }
    
        @Override
        public void playMusic() {
            System.out.println(name+"手机正在播放"+s.getSinger()+"唱的"+s.getName());
        }
    
    
        public static void btFunction() {
            System.out.println("支持WIFI功能");
        }
    }

    主方法:

    public class Demo04 {
        public static void main(String[] args) {
            IPhone phone=new IPhone();
            phone.btFunction();
            Bluetooth.connecting();
            phone.playMusic();
    
    
        }
    }

    第五题:
    根据要求完成以下功能:
    ① 定义接口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

    Line 类:

    public class Line {
        static String basicClass="JAVASE";
        static String emplymentClass="JAVAEE";
    
        public Line(String basicClass, String emplymentClass) {
            this.basicClass = basicClass;
            this.emplymentClass = emplymentClass;
        }
    
        public Line() {
    
        }
        public static void  printLine(){
            System.out.println("练习路线,基础班学习:"+basicClass+",就业班学习:"+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;
        }
    }

    Study 类:

    public interface Study {
        public abstract void studyLine(Line line);
    
        static void stu1(){
            System.out.println("真是没什么话编辑了");
        }
        static void stu2(){
            System.out.println("这一天天的不能换换样");
        }
    
    
    }

    Student类:

    public class Student{
        private static String name="小卤蛋";
        private static int age;
    
        public Student(String name, int age) {
            this.name = name;
            this.age = age;
        }
    
        public Student() {
    
        }
    
        public static void studying() {
            System.out.println(name+"练习中");
        }
    
        public void studying(Study sy){
            System.out.println(name+"练习中");
    
        }
    
        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;
        }
    
    
    }

    主方法:

    public class Demo05 {
        public static void main(String[] args) {
    
            Line.printLine();
            Study.stu1();
            Study.stu2();
            Student.studying();
        }
    }

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Drink less late night wine and drink more early morning porridge!                        快手(爱分享~淘气)

    ------------------------------------------------------------------

    感谢到访!期待您的下次光临!

      

  • 相关阅读:
    ubuntu 16.0.5 修改网卡为固定IP
    Ubuntu PostgreSQL安装和配置
    NPOI 1.2.1版本替换为2.4.0版本实体类变更
    C# 之 Math取整
    解决github 下载过慢的问题
    优伦自动语言话务员设置
    python3学习笔记 列表
    【postgresql】role "root" does not exist 解决办法
    Eclipse使用的小技巧
    Servlet
  • 原文地址:https://www.cnblogs.com/varchar-pig/p/13861403.html
Copyright © 2020-2023  润新知