方法根据是否有static修饰也可以分为类方法和对象方法(实例方法)。
访问时,类方法可以直接通过类名来引用,而实例方法必须通过对象名来访问,也就是说要想使用实例方法,就必须创建一个该类的对象。
Math类的方法都是类方法,在使用时,可以如下:
double s=Math.sin(30);
Properties prop=System.getProperties();
一般而言,类方法的执行不依对象而改变。在定义方法时,一些与对象无关的通用方法通常被定义为类方法。由于类方法是属于整个类的,并不属于哪个对象,所以类方法的方法体中不能有与类的对象有关的内容,所以出现下面的情况的时候会出现编译错误:
1 类方法中不能引用对象变量
2 类方法中不能调用类的对象方法
3 在类方法中不能使用super、this关键字。
使用对象方法时,必须先创建对象实例,然后才能使用,如:
Student stu=new Student("0701956");
stu.showAcademicRecord();
与类方法相比,对象方法基本上没有什么限制:
1 对象方法可以引用对象变量,也可以引用类变量
2 对象方法中可以调用类方法
3 对象方法中可以使用super、this关键字。
来源:https://www.cnblogs.com/xianspace/archive/2008/12/07/1349733.html