2.方法详解
方法是类或对象的行为特征的抽象,方法是类或对象最重要的组成部分。但从功能上看,方法完全类似于传统结构化程序设计里的函数。但值得指出的是,Java里的方法不能独立存在,所有的方法都必须定义在类里。方法在逻辑上要么属于类,要么属于对象。
2.1方法的所属性
如果需要定义方法,则只能在类体内定义,不能独立定义一个方法。一旦将一个方法定义在某个类体内,如果这个方法使用了static修饰,则这个方法属于这个类,否则这个方法属于这个类的对象。
Java语言是静态的:一个类定义完成后,只要不再重新编译这个类文件,该类和该类的对象所拥有的方法是固定的,永远不会改变。
因为Java里的方法不能独立存在,它必须属于一个类或者一个对象,因此方法也不能被独立执行,执行方法时必须使用类或对象来做为调用者。即所有方法都必须使用“类.方法”或“对象.方法”的形式来调用。这里可能产生一个问题,同一个类里不同方法之间互相调用时,不就可以直接调用吗?这里需要指出:同一个类的一个方法调用另一个方法时,如果被调用方法是普通方法,则默认使用this做为调用者,如果被调用方法是静态方法,则默认使用类做为调用者。也就是说,表明上看起来某些方法可以被独立执行,但实际上还是使用this或者类来做为调用者。永远不要把方法当成独立存在的实体,方法只能做为类和对象的附属。
》》 方法不能独立定义,方法只能在类体里定义。
》》 从逻辑意义上说,方法要么属于一个类,要么属于一个对象。
》》 永远不能独立执行方法,执行方法必须使用类或对象做为调用者。
使用static修饰的方法属于这个类,或者说属于该类的所有实例共有,使用static修饰的方法既可以使用类做为调用者来调用,也可以使用对象做为调用者来调用。但值得指出的是,因为使用static修饰的方法还是属于这个类的,因此使用该类的任何对象来调用这个方法将会得到相同的执行结果,与使用类做为调用者的执行结果完全相同。
不使用static修饰的方法则属于该类的对象,不属于这个类。因此不使用static修饰的方法只能使用对象作为调用者调用,不能使用类做为调用者调用。使用不同对象做为调用者来调用同一个普通方法,可能得到不同的结果。
联系QQ:2039855039
联系电话:075526402586