类方法和类实例的区别

方法根据是否有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关键字。

你可能感兴趣的:(区别)