java 方法被同时调用_java方法之间的调用以及关系

第一题:

定义一个接口Animal,包含:

1.抽象方法: run()

2.默认方法: breathe(),输出"动物会呼吸",同时调用静态方法 eat(),私有方法: sleep()

3.静态方法: eat(),输出"动物都要吃东西"

4.私有方法: sleep(),输出"动物都要休息"

定义Dog类实现Animal接口,实现抽象方法run(),输出"狗跑得飞快"

在测试类中创建Dog类的对象d,通过对象调用run()方法和breathe()方法,打印出如下效果:

狗跑得飞快

动物会呼吸

动物都要吃东西

动物都要休息

Dog类:

48304ba5e6f9fe08f3fa1abda7d326ab.png

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("动物都要休息");

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

Animal 类:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public interface Animal {

public abstract void run();

public void breathe();

static void eat(){

System.out.println("动物都要吃东西");

}

static void sleep(){

System.out.println("动物都要休息");

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

主方法:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public class Demo01{

public static void main(String[] args) {

Animal d=new Dog();

d.run();

d.breathe();

Animal.eat();

Animal.sleep();

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

第二题:

定义一个接口Phone,包含:

1.抽象方法: playGame()

2.默认方法: sendMessage(),输出"发短信"

3.静态方法: call(),输出"打电话"

定义IPhone类实现Phone接口,实现抽象方法playGame(),输出"打王者农药,吃鸡"

重写默认方法sendMessage(),输出"发彩信"

在测试类中,编写代码,打印出如下语句(每句话都需调用上述方法打印):

打电话

打王者农药,吃鸡

发彩信

Phone类:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public interface Phone {

public abstract void playGame();

public default void sendMessage(){

System.out.println("发短信");

}

public static void call(){

System.out.println("打电话");

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

IPhone类:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public class IPhone implements Phone{

@Override

public void playGame() {

System.out.println("约和她皆失,你知道王者农药什么英雄吗?");

}

@Override

public void sendMessage() {

System.out.println("发彩信");

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

主方法:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public class Demo02 {

public static void main(String[] args) {

IPhone p = new IPhone();

Phone.call();

p.playGame();

p.sendMessage();

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

第三题:

定义一个接口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类:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public interface Animal {

public static void sleep(){

System.out.println("动物会休息");

}

public abstract void run();

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

Dog类:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public class Dog implements Animal{

@Override

public void run() {

System.out.println("如脱缰的野狗一样奔跑");

}

public static void eat(){

System.out.println("怎么对小动物哪麽不好呢,编辑!");

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

Cat类:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public class Cat implements Animal{

@Override

public void run() {

System.out.println("奔跑的猫毛都被撸秃了?瞧你能追的上似的");

}

public static void catchMouse(){

System.out.println("猫抓老鼠,天经地义");

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

主方法:

48304ba5e6f9fe08f3fa1abda7d326ab.png

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();

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

第四题:

根据要求完成以下功能:

① 定义接口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 类:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public interface Bluetooth {

public static void btFunction() {

}

public static void connecting(){

System.out.println("可以连接WIFI,谁能把WIFI变为只能自己连");

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

Phone类:

48304ba5e6f9fe08f3fa1abda7d326ab.png

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();

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

Song 类:

48304ba5e6f9fe08f3fa1abda7d326ab.png

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());

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

IPhone 类:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public class IPhone extends Phone implements Bluetooth{

Song s=new Song();

public IPhone(String name) {

this.name=name;

}

public IPhonww() {

}

@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功能");

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

主方法:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public class Demo04 {

public static void main(String[] args) {

IPhone phone=new IPhone();

phone.btFunction();

Bluetooth.connecting();

phone.playMusic();

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

第五题:

根据要求完成以下功能:

① 定义接口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 类:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public class Lirt {

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;

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

Study 类:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public interface Study {

public abstract void studyLine(Line line);

static void stu1(){

System.out.println("真是没什么话编辑了");

}

static void stu2(){

System.out.println("这一天天的不能换换样");

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

Student类:

48304ba5e6f9fe08f3fa1abda7d326ab.png

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;

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

主方法:

48304ba5e6f9fe08f3fa1abda7d326ab.png

public class Demo05 {

public static void main(String[] args) {

Line.printLine();

Study.stu1();

Study.stu2();

Student.studying();

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值