Lesson 5: Classes and Objects (Part 2)类与对象(下)
LiFan(李凡)
Chengdu University of Information Technology
The Department puter Science
2005
Methods (方法)
方法是语句的结合,方法中的语句可以访问和修改类或类的对象中域,也可以使用域存放的数据进行复杂的计算
方法体现了OOP中严格区分“做什么”和“怎么做”的思想
方法(特别是public方法)又被看作是类的设计者和类的使用者之间的契约(contract)
Declaring Methods (声明方法)
方法位于类体中,方法声明由方法头和方法体两部分构成,方法头中要声明方法的返回类型和方法可能跑出的异常列表
<修饰符> <返回类型> <方法名>(<参数列表>) <异常列表>{
/*…方法体…*/
}
如果方法头中声明的返回类型不是void,则方法体结束时必须通过return语言返回执行结果
class BodyPrint{
public static void main(String[] args)
{
Body sun=new Body(“Sun”);
Body earth=new Body(“Earth”);
=sun;
(“Body ”++
“orbits ”+)
}
}
java BodyPrint
Body Earth orbits Sun
方法头
方法体
Method Modifiers (方法的修饰符)
方法可使用一下修饰符:
访问控制修饰符—与域相同
abstract —声明为abstract的方法没有方法体,一般定义在抽象类中,被子类实现
static —声明为static的方法是类的方法,否则为对象的方法
final —声明为final的方法不能被子类覆盖(overridden)
synchronized —当方法可能被多个线程,为了保持对象状态的一致性,可以通过synchronized来控制线程对方法的访问
native —声明为native的方法,又称为本地方法,这种方法通常由其它语言实现
strictfp —与类相同
Access Control (方法的访问控制)
通过访问控制修饰符(access modifiers)可以限制方法在类或对象外部的可见性
public —共有的,方法在任何地方都可以通过类或类的对象调用
protected —受保护的,方法仅在类体中、子类类体中或同包的其它类类体中可调用
private —私有的,方法仅在类体中可调用
package —默认的,没有任何访问修饰符修饰的方法,仅在类体中、同包的其它类类体中可调用
Invoking Methods (调用方法)
对于static方法,可以通过“”调用
()
对于对象的方法,在对象被创建后,可以通过“”调用
(…);
class Body{
……
public String toString(){
return “Body ”+name;
}
public static void main(String[] args){
Body earth=new Body(“Earth”);
(earth);
}
}
java Body
Body Earth
Method Execution (方法的执行)
方法被调用后,执行的结果可能有以下几种:
(1) 通过return语句返回结果
(2) 执行到最后一条语句,自动结束
(3) 抛出未捕获的异常
public class Permissions{
public boolean canDeposit,canWithdraw,canClose;
}
public class ount{
private long number;
private long balance;
public Permissions permissionsFor(Person who){
Permissions perm=new Permissions();
=canDeposit(who);
=canWithdraw(who);
=canClose(who);
return
JAVA-L5-ClassesAndObjects(2) 来自淘豆网www.taodocs.com转载请标明出处.