今天我们学习一下实例方法、类方法和静态方法的区别。其中类方法和静态方法分别用了装饰器中的classmethod和staicmethod关键词。
在此之前我们先要理解实例和类的区别。
实例方法(没有static)的概念
对象被称为实例。实例相关的有:实例变量、实例方法。实例变量是对象变量。
实例方法是对象方法。
实例方法没有static。(对象方法,对象级别的方法)
实例方法的调用需要先new一个对象,再通过“引用.”的方式去访问(实例相关的都需要先new对象,通过“引用.”的方式去访问)
实例是类的具体例子,那么调用实例先要初始化,这里也叫做实例化。实例方法可以访问类方法和实例方法,实例方法可以被覆盖,实例方法只能通过对象.实例方法访问。
类方法
使用装饰器@classmethod。第一个参数必须是当前类对象,该参数名一般约定为“cls”,通过它来传递类的属性和方法(不能传实例的属性和方法)
类方法是属于整个类,而不属于某个对象。
类方法只能访问类成员变量,不能访问实例变量。
在类方法中不能使用super、this关键字。
类方法的调用可以通过类名,类方法和对象。
类方法不能被覆盖。
今天我们主要具体讲解
实例方法定义语法 方法(二)
方法:
实例方法定义语法:
class 类名{
访问修饰符 返回值类型 方法名([形参列表]){
// 方法功能实现
}
}
解释:
- 访问修饰符:private、默认、protected、public;
- 返回值类型:void 无返回值类型;有返回值类型(可以是基本类型和引用类型);
- 参数列表:参数可选
实例方法调用语法:
对象名.方法名([实参列表]);
示例:
无参有返回值。
class MyMath{
/** 方法定义 */
public int getNumber(){
return 6;
}
}
public class TestMyMath {
public static void main(String[] args) {
MyMath myMath = new MyMath();
/** 方法调用 */
int number = myMath.getNumber();
System.out.println("获取数字:" + number);
System.out.println("运算:" + (number + 55));
}
}
运行结果:
注意事项:
带返回值类型的方法定义要求:
1)必须有return语句返回值;2)return 返回的值的类型与定义的类型相符。
如果你觉得本篇文章对你有帮助,记得点赞收藏哦,以防找不到我~