实例方法、类方法和静态方法的区别

今天我们学习一下实例方法、类方法和静态方法的区别。其中类方法和静态方法分别用了装饰器中的classmethod和staicmethod关键词。

在此之前我们先要理解实例和类的区别。

实例方法(没有static)的概念

对象被称为实例。实例相关的有:实例变量、实例方法。实例变量是对象变量。

实例方法是对象方法。

实例方法没有static。(对象方法,对象级别的方法)

实例方法的调用需要先new一个对象,再通过“引用.”的方式去访问(实例相关的都需要先new对象,通过“引用.”的方式去访问)

实例是类的具体例子,那么调用实例先要初始化,这里也叫做实例化。实例方法可以访问类方法和实例方法,实例方法可以被覆盖,实例方法只能通过对象.实例方法访问。

类方法

使用装饰器@classmethod。第一个参数必须是当前类对象,该参数名一般约定为“cls”,通过它来传递类的属性和方法(不能传实例的属性和方法)

类方法是属于整个类,而不属于某个对象。

类方法只能访问类成员变量,不能访问实例变量。

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

类方法的调用可以通过类名,类方法和对象。

类方法不能被覆盖。


今天我们主要具体讲解

实例方法定义语法 方法(二)

方法:

实例方法定义语法:

class 类名{
     访问修饰符  返回值类型  方法名([形参列表]){
           // 方法功能实现
     }
}

解释:

  1. 访问修饰符:private、默认、protected、public;
  2. 返回值类型:void 无返回值类型;有返回值类型(可以是基本类型和引用类型);
  3. 参数列表:参数可选

实例方法调用语法:

对象名.方法名([实参列表]);

示例:

无参有返回值。

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 返回的值的类型与定义的类型相符。


如果你觉得本篇文章对你有帮助,记得点赞收藏哦,以防找不到我~

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值