复制
收藏
提问
全网

import java.util.Scanner; abstract class Employee{ public int monkey; public abstract int getMonkey(); } class Manager extends Employee{ public Manager(int monkey) { this.monkey=monkey; } public int getMonkey() { return this.monkey; } } class Salesman extends Employee{ int T; public Salesman(int monkey,int t) { this.monkey=monkey; T=t; } @Override public int getMonkey() { return this.monkey+T; } } class Worker extends Employee{ int n; public Worker(int monkey,int n){ this.monkey=monkey; this.n=n; } @Override public int getMonkey() { return n*monkey; } } class Main{ public static void main(String[] args) { Scanner s=new Scanner(System.in); Employee e1=new Manager(s.nextInt()); Employee e2=new Salesman(s.nextInt(),s.nextInt()); Employee e3=new Worker(s.nextInt(),s.nextInt()); System.out.println(e1.getMonkey()); System.out.println(e2.getMonkey()); System.out.println(e3.getMonkey()); } }用中文分析代码

5月前
全网
文档
学术
百科
知识库
时间不限
自动

理解问题import java.util.Scanner; abstract class Employee{ public int monkey; public abstract int getMonkey(); } class Manager extends Employee{ public Manager(int monkey) { this.monkey=monkey; } public int getMonkey() { return this.monkey; } } class Salesman extends Employee{ int T; public Salesman(int monkey,int t) { this.monkey=monkey; T=t; } @Override public int getMonkey() { return this.monkey+T; } } class Worker extends Employee{ int n; public Worker(int monkey,int n){ this.monkey=monkey; this.n=n; } @Override public int getMonkey() { return n*monkey; } } class Main{ public static void main(String[] args) { Scanner s=new Scanner(System.in); Employee e1=new Manager(s.nextInt()); Employee e2=new Salesman(s.nextInt(),s.nextInt()); Employee e3=new Worker(s.nextInt(),s.nextInt()); System.out.println(e1.getMonkey()); System.out.println(e2.getMonkey()); System.out.println(e3.getMonkey()); } }用中文分析代码

已完成理解import java.util.Scanner; abstract class Employee{ public int monkey; public abstract int getMonkey(); } class Manager extends Employee{ public Manager(int monkey) { this.monkey=monkey; } public int getMonkey() { return this.monkey; } } class Salesman extends Employee{ int T; public Salesman(int monkey,int t) { this.monkey=monkey; T=t; } @Override public int getMonkey() { return this.monkey+T; } } class Worker extends Employee{ int n; public Worker(int monkey,int n){ this.monkey=monkey; this.n=n; } @Override public int getMonkey() { return n*monkey; } } class Main{ public static void main(String[] args) { Scanner s=new Scanner(System.in); Employee e1=new Manager(s.nextInt()); Employee e2=new Salesman(s.nextInt(),s.nextInt()); Employee e3=new Worker(s.nextInt(),s.nextInt()); System.out.println(e1.getMonkey()); System.out.println(e2.getMonkey()); System.out.println(e3.getMonkey()); } }用中文分析代码

展开阅读网页

这段Java代码定义了一个抽象类Employee和三个继承自Employee的子类ManagerSalesmanWorker。代码的主要目的是通过不同的子类对象来计算并输出各自的monkey值。以下是对代码的详细分析:

  1. 抽象类Employee:

    • 定义了一个公共的整型成员变量monkey
    • 声明了一个抽象方法getMonkey(),这个方法的具体实现需要在子类中完成1356
  2. Manager:

    • 继承自Employee类。
    • 有一个构造器,接收一个整数参数并赋值给monkey
    • 实现了getMonkey()方法,直接返回monkey的值。
  3. Salesman:

    • 继承自Employee类。
    • 有一个构造器,接收两个整数参数:第一个赋值给monkey,第二个赋值给成员变量T
    • 实现了getMonkey()方法,返回monkeyT的和。
  4. Worker:

    • 继承自Employee类。
    • 有一个构造器,接收两个整数参数:第一个赋值给monkey,第二个赋值给成员变量n
    • 实现了getMonkey()方法,返回nmonkey的乘积。
  5. 主类Main:

    • main方法中,使用Scanner类读取用户输入的整数。
    • 分别创建了ManagerSalesmanWorker的实例,并存储在Employee类型的引用e1e2e3中。
    • 调用每个对象的getMonkey()方法,并打印结果。

代码中存在一些问题和注意事项:

  • 抽象类Employee中的成员变量monkey应该是私有的,并通过构造器或公共方法进行访问,以符合封装性原则。
  • Employee类中的抽象方法getMonkey()在子类中必须被重写(使用@Override注解)7
  • Main类的main方法中,应该对用户输入进行异常处理,以避免非数字输入导致的程序崩溃。
  • Employee类的对象不能直接创建,因为它是一个抽象类,代码中通过创建其子类的对象来实现多态性124

整体而言,这段代码展示了如何在Java中使用抽象类和继承,以及如何通过多态性让不同类型的对象以统一的方式进行交互。

更专业一些
转笔记
专业
import java.util.Scanner; abstract class Employee{ public int monkey; public abstract int getMonkey(); } class Manager extends Employee{ public Manager(int monkey) { this.monkey=monkey; } public int getMonkey() { return this.monkey; } } class Salesman extends Employee{ int T; public Salesman(int monkey,int t) { this.monkey=monkey; T=t; } @Override public int getMonkey() { return this.monkey+T; } } class Worker extends Employee{ int n; public Worker(int monkey,int n){ this.monkey=monkey; this.n=n; } @Override public int getMonkey() { return n*monkey; } } class Main{ public static void main(String[] args) { Scanner s=new Scanner(System.in); Employee e1=new Manager(s.nextInt()); Employee e2=new Salesman(s.nextInt(),s.nextInt()); Employee e3=new Worker(s.nextInt(),s.nextInt()); System.out.println(e1.getMonkey()); System.out.println(e2.getMonkey()); System.out.println(e3.getMonkey()); } }用中文分析代码
不在提醒

更专业内容正在努力生成中
知识树
import java.util.Scanner; abstract class Employee{ public int monkey; public abstract int getMonkey(); } class Manager extends Employee{ public Manager(int monkey) { this.monkey=monkey; } public int getMonkey() { return this.monkey; } } class Salesman extends Employee{ int T; public Salesman(int monkey,int t) { this.monkey=monkey; T=t; } @Override public int getMonkey() { return this.monkey+T; } } class Worker extends Employee{ int n; public Worker(int monkey,int n){ this.monkey=monkey; this.n=n; } @Override public int getMonkey() { return n*monkey; } } class Main{ public static void main(String[] args) { Scanner s=new Scanner(System.in); Employee e1=new Manager(s.nextInt()); Employee e2=new Salesman(s.nextInt(),s.nextInt()); Employee e3=new Worker(s.nextInt(),s.nextInt()); System.out.println(e1.getMonkey()); System.out.println(e2.getMonkey()); System.out.println(e3.getMonkey()); } }用中文分析代码
在线客服