未知数据

从头看Java

   ::  :: 联系 :: 聚合  :: 管理
  28 Posts :: 0 Stories :: 10 Comments :: 0 Trackbacks

java方法

       1. java中方法不能单独存在,所有方法必须定义在类中.

       2. 从逻辑上说,一个方法要么属于一个对象,要么属于一个类(使用static修改的方法)

       3. 永远不可能独立执行方法,执行方法必须使用类或对象作为调用者.包括隐式的this对象

1. 常用的修饰符:

    static 可用于修饰方法,属性等成员.修饰成员表示这个成员是属于这个类所共有的,而不是属于这个类的某一个实例.不使用static的成员则表示,这些成员是属于该类的某一个实例,而不是属于这个类.静态成员不能访问非静态成员.

2. 方法的参数传递机制

       java方法的参数传递机制:值传递.所谓值传递,就是将实际参数的副本传入方法内,而参数本身不受任何影响.

       基本数据类型和引用类型都是采用值传递的方式进行.但如果传递的是引用类型,虽然传入方法内的是引用类型变量的一个副本,但两个引用类型变量都是指向了同一个堆内存中的对象,通过任何一个引用变量对对象进行操作,都会对这个对象产生影响.

public class Test { 

//基本数据类型的值传递
private static void swap(int a ,int b) {
  int tmp = a;
  a = b;
  b = tmp;
  System.out.println("swap()方法中:a="+a+",b="+b);
}
// 引用类型的值传递
private static void swap2(Obj o) {
  int tmp = o.a;
  o.a = o.b;
  o.b = tmp;
  System.out.println("swap2()方法中:a="+o.a+",b="+o.b);
}
public static void main(String[] args) {
  int a = 10;
  int b = 20;
  swap(a,b);
  System.out.println("swap()方法外:a="+a+",b="+b);
  Obj o = new Obj();
  swap2(o);
  System.out.println("swap2()方法中:a="+o.a+",b="+o.b);
}
} 

3. 形参长度可变的方法

   长度可变的形参只能位于形参队列的最后,一个方法中只能出现一个长度可变的形参.这个长度可变的形参可以传入多个参数,也可以传入一个数组

public class Test3 { 

public String test(String... Strs) {
  String result = "";
  for (String tmp : Strs) {
   result += tmp;
  }
  return result;
}
public static void main(String[] args) {
  Test3 t = new Test3();
  System.out.println(t.test("Hello","!","world"));//可以传入多个String
  String[] tmp = {"Hello","!","world"};
  System.out.println(t.test(tmp));//也可以传入一个String数组
} 

} 

4. 方法重载

   1. 出现在同一个类中

   2. 方法名相同,方法的形参列表不同

   3. 方法的其他属性如返回值类型,修饰符等与方法重载无关

5. 方法重写

    1. 出现在继承中,子类和父类同名的方法之间

    2. 方法名,方法形参列表相同;返回值类型,子类比父类更小或相等;抛出的异常,子类比父类更小或相等;访问权限,子类比父类更大或相等;二者必须同时为实例方法,或同时为类方法

    3. 私有的父类方法,是不能被重写的

6. 构造器

   1. 每个java类都至少有一个构造器,如果没有显式的提供,系统会提供一个无参数的执行体为空的构造器

   2. 构造器可以重载,每个不同的构造器之间可使用this相互调用,且只能在第一行调用

posted on 2009-01-05 20:50 wangjc 阅读(447) 评论(0)  编辑  收藏 所属分类: 从头看Java

只有注册用户登录后才能发表评论。


网站导航: