类的静态方法

//es5

let Animal = function (type){
   this.type = type
}
//这是类的实例对象方法
Animal.prototype.eat = function (){
   Animal.walk()//引用类的静态方法
console.log(‘eat food‘) } 

//这是类的静态方法 Animal.walk = function () {   console.log(‘walking‘) } let dog = new Animal(‘dog‘) dog.eat() dog.walk() //类的实例对象里没有walk这个方法

//es6

class Animal {
   constructor (type) {
      this.type = type
   }
   //类的实例对象方法
   eat (){
      Animal.walk()
      console.log(‘eat food‘)
   }
   //类的静态方法
   static walk (){
      console.log(‘walking...‘)
   }
}
let dog = new Animal(‘dog‘)
dog.eat()

根据场景选择定义不同的方法

类的静态方法:拿不到类的实例对象的信息

类的实例对象方法:可以访问实例对象的属性或方法

原文地址:https://www.cnblogs.com/qjb2404/p/12205113.html

时间: 2024-08-30 08:11:12

类的静态方法的相关文章

python类的静态方法和类方法区别

# python类的静态方法和类方法区别 ## 先看语法,python 类语法中有三种方法,实例方法,静态方法,类方法. 本文由黄哥python培训黄哥所写. # coding:utf-8 class Foo(object): """类三种方法语法形式""" def instance_method(self): print("是类{}的实例方法,只能被实例对象调用".format(Foo)) @staticmethod def

类中静态方法

要在类中使用静态方法,需在类成员函数前面加上@staticmethod标记符,以表示下面的成员函数是静态函数.使用静态方法的好处是,不需要定义实例即可使用这个方法.另外,多个实例共享此静态方法. # 规范:自己的成员自己去访问,除了类中的方法,类中的方法用对象去访问 # 通过类去访问的有:类属性,静态方法 # 通过对象去访问的有: 对象属性,类中的方法 # 静态方法存在的意义在于不需要创建对象就可以执行该方法 class A(object): country = '中国' def __init_

类的静态方法。。。。。

类的静态方法: 第一:类不可以标注static,也就是说没有“静态类”,但是类的成员.方法.块是可以标注static的 比如public class YourClass{ public static int arg0=0; //这是个静态成员 { //这是个静态块 } public static void doSomething(){ //这是个静态方法 }} 第二: 被标注为static的变量及方法可以脱离本类的实例使用,也就是说不需要实例化这个类就可以使用他的静态变量和方法比如常用的:Sys

php函数、类和对象以及类的封装、继承、类的静态方法、静态属性

1.函数     php内置函数可以直接使用,如果没有安装php扩展即可     自定义函数 //函数function 函数名 function dump($var = null){ //支出默认参数值 echo '<pre/>'; var_dump($var); } 2.类(class)和对象( new Obj) <?php //定义一个人的类,现在还不是对象 class Person { //私有属性 private $eye = '大眼睛'; private $mouth = '小

Js类的静态方法与实例方法区分以及jQuery如何拓展两种方法

上学时C#老师讲到对象有两类方法,静态方法(Static)和实例方法(非Static),当时不理解静态是为何意,只是强记. 后来从事了前端的工作,一直在对类(即对象,Js中严格来说没有类的定义,虽众所周知,这里还是赘述一番,以免产生歧义)的操作上,严重缺乏整体概念,最近看extetnd中再次提到拓展静态方法与实例方法,故而再次百度,才幡然领悟,其实一直有用,只是不知其专业术语呀,哈哈~ 静态方法,属于类的方法,即类可以直接调用的方法.为类所有实例化对象所共用(但不能用实例对象之间调用),所以静态

java多线程并发去调用一个类的静态方法安全性探讨

java多线程并发去调用一个类的静态方法安全性探讨 转自:http://blog.csdn.net/weibin_6388/article/details/50750035 这篇文章主要讲多线程对静态方法访问的数据安全性 总结如下: 1,java在执行静态方法时,会在内存中拷贝一份,如果静态方法所在的类里面没有静态的变量,那么线程访问就是安全的,比如在javaee中服务器必然会多线程的处理请求此时如果设计全局需要调用的静态方法,可用此种设计. 2,java在执行静态方法时,如果使用静态变量,同时

PHP 类中静态方法调用非静态方法

静态方法调用非静态方法: 在类中静态方法中,需要实例化对象,然后再调用类中的方法 非静态方法调用静态方法: 可以self 或者 类名加::的形式调用 如下面的案例: <?php class A{ public function noneStaticFun(){ echo __CLASS__." none static function<br/>"; } public static function staticFun(){ echo __CLASS__."

从JVM内存管理的角度谈谈JAVA类的静态方法和静态属性

在JVM中,内存分为两个部分,Stack(栈)和Heap(堆),这里,我们从JVM的内存管理原理的角度来认识Stack和Heap,并通过这些原理认清Java中静态方法和静态属性的问题. 一般,JVM的内存分为两部分:Stack和Heap.(stack和heap都是位于RAM中的) stack(栈)是JVM的内存指令区.stack管理很简单,push一定长度字节的数据或者指令,stack指针压栈相应的字节位移:pop一定字节长度数据或者指令,stack指针弹栈.stack的速度很快,管理很简单,并

类的静态方法@staticmethod

静态方法 @staticmethod 静态方法是定义在类内部的函数,此函数的作用域是类的内部 说明: 静态方法需要使用 @staticmethod装饰器定义 静态方法与普通函数定义相同,不需要传入self实例参数和cls参数 静态方法只能凭借该类或类创建的实例调用 静态方法不能访问类变量和实例变量(属性) class A: @staticmethod #静态方法就跟普通函数一样,只不过在类中需要加@staticmethod def myadd(a, b): return a + b print(