类方法和类实例的区别

先来看一道面试题:

下列说法错误的有()

A.在类方法中可用this来调用本类的类方法

B.在类方法中调用本类的类方法时可直接调用

C.在类方法中只能调用本类中的类方法

D.在类方法中绝对不能调用实例方法

 

曾经我做过两次,都没做正确,一:第一次做的时候 没有回来查找答案,二:当时确实不理解什么是类方法。

 

******************欢乐的分割线***************************

方法根据是否有static修饰也可以分为类方法和对象方法(实例方法)。

访问时,类方法可以直接通过类名引用,而实例方法必须通过对象名来访问,也就是说要想使用实例方法,就必须创建一个该类的对象。

Math类的方法都是类方法,在使用时,可以如下:

int  i  = Math.abs(50);

一般而言,类方法的执行不依对象而改变。在定义方法时,一些与对象无关的通用方法通常被定义为类方法。由于类

方法是属于整个类的,并不属于哪个对象,所以类方法的方法体中不能有与类的对象有关的内容,所以出现下面的情

况的时候会出现编译错误:

1 类方法中不能引用对象变量

2 类方法中不能调用类的对象方法

3 在类方法中不能使用super、this关键字

使用对象方法时,必须先创建对象实例,然后才能使用,如:

Student stu=new Student("0701956");

stu.showAcademicRecord();

与类方法相比,对象方法基本上没有什么限制:

1 对象方法可以引用对象变量,也可以引用类变量

2 对象方法中可以调用类方法

3 对象方法中可以使用super、this关键字。

 

原文地址:https://www.cnblogs.com/itmyhome/p/4131497.html