编写高质量代码:改善Java程序的151个建议(41~50)

建议四十一:让多重继承成为现实

interface Father {
    public int strong();
}

interface Mother {
    public int kind();
}

class FatherImpl implements Father {
    @Override
    public int strong() {
        return 8;
    }
}

class MotherImpl implements Mother {
    @Override
    public int kind() {
        return 8;
    }
}

class son extends FatherImpl implements Mother {
    @Override
    public int strong() {
        return super.strong() + 1;
    }

    @Override
    public int kind() {
        return new MotherSpecial().kind();
    }

    private class MotherSpecial extends MotherImpl {
        @Override
        public int kind() {
            return super.kind() - 1;
        }
    }
}

通过使用内部类实现多重继承

建议四十二:让工具类不可实例化

建议四十三:避免对象的浅拷贝

浅拷贝只是java提供的一种简单的拷贝机制,不便于直接使用。

建议四十四:推荐使用序列化实现对象的拷贝

建议四十五:覆写equals方法时不要识别不出自己

建议四十六:equals应该考虑null值场景

建议四十七:在equals中使用getClass进行类型判断

obj!=null&&obj.getClass() == this.getClass()

建议四十八:覆写equals方法必须覆写hashCode方法

建议四十九:推荐覆写toString方法

建议五十:使用package-info类为包服务

package-info不能随便创建,主要用于开发包

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值