提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
一、题目1-
1.题目描述
2.思路与代码
2.1 思路
2.2 代码
二、题目2-
1.题目描述
2.思路与代码
2.1 思路
2.2 代码
总结
前言
提示:这里可以添加本文要记录的大概内容:
1月2日练习内容
提示:以下是本篇文章正文内容,下面案例可供参考
一、题目1-重写计算逻辑
1.题目描述
描述
在父类Base中定义了计算方法calculate(),该方法用于计算两个数的乘积(X*Y)。请在子类Sub中重写该方法,将计算逻辑由乘法改为除法(X/Y)。注意,当分母为0时输出“Error”。
输入描述:
两个整数
输出描述:
两个整数的商(int类型,不考虑小数情况)
2.思路与代码
2.1 思路
1.本题主要考察子类重写父类方法
2.将子类继承父类,在子类的构造方法中调用父类的构造方法,接着重写父类的calculate方法,将父类的乘积(X*Y)重写为子类的除法(X/Y)
3.在main方法中,输入x,y,创建对象和调用子类方法
2.2 代码
代码如下(示例):
import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);//输入int x = in.nextInt();int y = in.nextInt();//创建对象Sub su = new Sub(x,y);//调用方法su.calculate();}
}
//父类
class Base {private int x;private int y;public Base(int x, int y) {this.x = x;this.y = y;}public int getX() {return x;}public int getY() {return y;}public void calculate() {System.out.println(getX() * getY());}
}
//子类
class Sub extends Base {public Sub(int x, int y) {super(x, y);}//子类重写父类方法public void calculate() {if (getY() == 0) {System.out.print("Error");} else {System.out.println(getX() / getY());}}}
二、题目2-
1.题目描述
已知有三个类:First、Second、Third。要求定义一个打印方法,支持传入任意引用类型的参数(包括上述三个类),并在方法内部打印出对象的字符串形式。
输入描述:
类名
输出描述:
由该类实例化出来的对象的字符串表示
2.思路与代码
2.1 思路
1.因为定义的桑类的返回的类型本身就是字符串类型,与系统定义类型的参数相同,这里可以直接调用方法:getClass().getName(),
2.输出
2.2 代码
代码如下(示例):
import java.util.Scanner;public class Main {public static void main(String[] args) throws Exception {Scanner input = new Scanner(System.in);while (input.hasNext()) {String name = input.next();// print就是需要你定义的方法print(Class.forName(name).newInstance());}}//print方法public static void print(Object obj) {//调用getName函数直接输出System.out.println(obj.getClass().getName());}}class First {public String toString() {return "First";}
}class Second {public String toString() {return "Second";}
}class Third {public String toString() {return "Third";}
}
总结
提示:这里对文章进行总结: