欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

方法的修饰符

程序员文章站 2022-07-15 07:58:34
...

方法的修饰符分为访问控制修饰符和非访问控制修饰符。方法的访问控制修饰符与成员变量的访问控制修饰符用法是一致的,在此不再详细的讨论,下面讨论几种常用的非访问控制修饰符。

(1)abstract方法(抽象方法)

带有abstract修饰符的方法称为抽象方法,指没有方法体的方法。抽象方法只能出现在抽象类中。

(2)static方法(类方法或静态方法)

方法于成员类似,也分为类方法和实例方法。带有static的方法称为类方法,不加static的方法称为实例方法。

实例方法是属于某个对象的方法,即每个对象的实例方法都有自己的专用的内存空间。类方法是属于整个类的,它被该类的所有对象共享。

例;类方法与实例方法的使用

public class StaticDemo {
	private int x;    //声明实例变量
	private static int y;    //声明类变量
	public static void setXY1(int newX,int newY){   //声明类方法
		x=newX;   //非法 ,报错
		y=newY;   //合法
	}
	public void setXY2(int newX,int newY){   //声明实例方法
		x=newX;   //合法
		y=newY;   //合法
	}
	public static void main(String[] args) {     //声明类方法
		StaticDemo t1=new StaticDemo();     //创建对象
		StaticDemo.setXY1(10, 20);       //合法
		StaticDemo.setXY2(10, 30);       //非法,不能直接引用类的实例方法
		t1.setXY1(10, 20);       //合法
		t1.setXY2(10, 30);       //合法

	}
通过上例,我们可以得出以下结论:

1、类方法只能访问类变量,不能访问实例变量;而实例方法既可以访问实例变量,也可以访问类变量。

2、可以直接通过类名调用类方法,而不能调用实例方法,而通过对象名既可以调用实例方法也可以调用类方法。

(3)final方法(最终方法)

带有final修饰的方法称为最终方法,子类可以继承final方法,但不可以覆盖这个方法,这样可以防止子类对父类关键方法的修改,保证了程序的安全。

可以继承该方法,但不可以覆盖该方法。

(4)native(本地方法)

用其他语言编写的方法在Java程序中称为本地方法,编译成和处理器相关的机器代码。

Java方法是用Java语言编写的方法,编译成字节码,储存在class文件中。

(5)synchronized方法(同步方法)

同步方法用于多线程。

(6)throws异常类型列表

程序运行时可能发生异常,每个异常都对应一个异常类。如果希望方法忽略某种异常,可将其“抛出”,让它的“上级”(如调用它的对象等)来处理,从而使得程序性继续运行。

方法的修饰符方法的修饰符方法的修饰符