1.请按标准格式定义一个“手机类”,它有三个属性:品牌(String)、颜色(String)、价格(double)
1)请编写测试类,创建两个“手机对象”并为它们的属性赋值
2)直接打印手机对象的属性信息 :toString
3)比较两个对象的所有属性值是否完全相等:(使用objects.equals)
class Test {
public static void main(String[] args) {
fun(new Animal() {
@Override
public void show() {
System.out.println("狗子在洗澡");
}
});//请用匿名内部类的形式实现打印 狗子在洗澡
}
public static void fun(Animal a) {
a.show();
}
}
interface Animal {
public void show();
}
2.请补全代码
class Test {
public static void main(String[] args) {
fun(new Animal() {
@Override
public void show() {
System.out.println("狗子在洗澡");
}
});//请用匿名内部类的形式实现打印 狗子在洗澡
}
public static void fun(Animal a) {
a.show();
}
}
interface Animal {
public void show();
}
3.(难度比较大,综合性比较强)定义一个方法,要求如下:
1)此方法只能接收两个数值类型(包括Double、Long、Integer)的参数
2)此方法需要计算两个参数的和,并返回(注意:两个参数的类型是什么,返回结果的类型就要什么)
3) 提示:Java提供了一个类Number作为Double、Long、Integer等数值类的父类
在方法中需要判断传入的参数是哪种类型,然后转为对应的类型,进行运算
public class Test3 {
public static void main(String[] args) {
Integer num1 = Integer.valueOf(5);
Integer num2 = Integer.valueOf(10);
Number sum = add(num1, num2);
System.out.println("Integer sum: " + sum);
Double num3 = Double.valueOf(5.5);
Double num4 = Double.valueOf(10.5);
Number sum2 = add(num3, num4);
System.out.println("Double sum: " + sum2);
System.out.println(add(14.3,4));
}
//add方法需要大家实现
public static <T extends Number> T add(T a, T b) {
if (a instanceof Integer && b instanceof Integer) {
return (T) Integer.valueOf(a.intValue() + b.intValue());
} else if (a instanceof Double && b instanceof Double) {
return (T) Double.valueOf(a.doubleValue() + b.doubleValue());
} else if (a instanceof Long && b instanceof Long) {
return (T) Long.valueOf(a.longValue() + b.longValue());
} else if (a instanceof Float && b instanceof Float) {
return (T) Float.valueOf(a.floatValue() + b.floatValue());
}else {
System.out.println("类型不匹配");
return null;
}
}
}