首页 > 代码库 > 03课堂问题整理
03课堂问题整理
03课堂问题整理
1、分析以下代码,方法square的定义写了static,如果去掉static,就会报错,为什么呢?
public class SquareIntTest {
public static void main(String[] args) {
int result;
for (int x = 1; x <= 10; x++) {
result = square(x);
System.out.println("The square of " + x + " is " + result + "\n");
}
}
// 自定义求平方数的静态方法
public static int square(int y) {
return y * y;
}
}
分析解答:static,是静态的,属于公共的,不需要实例化;如果不带static,,就必须实例化类,再调用该方法。解决方法如下:
public class SquareIntTest {
public static void main(String[] args) {
int result;
SquareIntTest t=new SquareIntTest();
for (int x = 1; x <= 10; x++)
{
result = t.square(x);
System.out.println("The square of " + x + " is " + result + "\n");
}
}
// 自定义求平方数的方法
public int square(int y) {
return y * y;
}
}
2、方法重载。观察以下程序。
public class MethodOverload {
public static void main(String[] args) {
System.out.println("The square of integer 7 is " + square(7));
System.out.println("\nThe square of double 7.5 is " + square(7.5));
}
public static int square(int x) {
return x * x;
}
public static double square(double y) {
return y * y;
}
}
满足以下条件的两个或多个方法构成“重载”关系:
(1)方法名相同;
(2)参数类型不同,参数个数不同,或者是参数类型的顺序不同。
03课堂问题整理