实例方法、类方法和静态方法的区别 | 您所在的位置:网站首页 › 静态方法类方法实例方法的区别 › 实例方法、类方法和静态方法的区别 |
今天我们学习一下实例方法、类方法和静态方法的区别。其中类方法和静态方法分别用了装饰器中的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 返回的值的类型与定义的类型相符。 如果你觉得本篇文章对你有帮助,记得点赞收藏哦,以防找不到我~ |
CopyRight 2018-2019 实验室设备网 版权所有 |