zoukankan      html  css  js  c++  java
  • 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!                        快手(爱分享~淘气)

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

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

      

  • 相关阅读:
    MKMapVIew学习系列2 在地图上绘制出你运行的轨迹
    WPF SDK研究 Intro(6) WordGame1
    WPF SDK研究 Intro(3) QuickStart3
    WPF SDK研究 Layout(1) Grid
    WPF SDK研究 目录 前言
    WPF SDK研究 Intro(7) WordGame2
    WPF SDK研究 Layout(2) GridComplex
    对vs2005创建的WPF模板分析
    WPF SDK研究 Intro(4) QuickStart4
    《Programming WPF》翻译 第6章 资源
  • 原文地址:https://www.cnblogs.com/varchar-pig/p/13861403.html
Copyright © 2011-2022 走看看