对于变量,用变量名就可以认定。对于a ,你不能要求它既是int,又是double。这是错误的;
同理,对于方法,它的方法签名是:方法名+参数 通过签名,已经认定一个方法。你不能要求一个方法有多个返回类型。所以重载的语义范畴是方法签名,即使方法名一样,参数个数或类型不一样,就可以认为是不同方法,不会报错,同时又表达了同一种操作的多种方法实现。
对于接口,允许两个同一个类实现的接口有两个方法签名一样的方法,但返回类型需要一样,因为接口规定了协议,实现类有这个东西就好,所以两个接口之间不会冲突。但是,不允许方法签名一样,返回类型不同,实现类会纠结到底返回哪种类型。(变量也是哦,被实现的两个接口中不能出现同一个变量。。。虽然其实是常量)
所以,认定方法签名。
避免这些情况的出现。