java中都有哪些类型的方法,如何调用它们?

来源:百度知道 编辑:UC知道 时间:2024/06/07 04:32:20
比如说有静态,非静态的,还有抽象的等,有实例更好

这个从关键字来理解啊,
1. 如果方法定义前面加final,说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。

2. 如果方法定义前面加static,表示静态方法,方法和类关联,直接由类名来调用。

3. 如果方法定义前面加abstract,表示抽象方法,由继承类来实现。

4. 对于方法前面的public, private,protected等这些是控制方法可以被调用的范围。

5. 如果方法定义前面有native,Native方法是由另外一种语言(如c/c++,FORTRAN,汇编)实现的本地方法。因为在外部实现了方法,所以在java代码中,就不需要声明了,有点类似于借口方法,一般用不着。

6.如果方法定义前面加synchronized,表示当前方法体是一个临界区,通过锁机制来控制多个线程同步,在多线程应用里面经常使用。

抽象方法必须定义在抽象类里,如果一个类有抽象方法必须是抽象方法!还要抽象类不能实例话对象
实例:
package 百度知道;

public abstract class Test2 {
public void fun1()
{
System.out.println("fun1");
}

public abstract void fun2();
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test2 obj;

}

}

静态方法和非静态方法的区别就是:
静态方法可以用类和对象调用,而非静态方法只能用对象调用:
实例:
public class Te