【Day03-作业练习】

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;
        }
    }
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值