php 普通方法和静态方法

<?php

header(‘Content-Type: text/html; charset=utf-8‘);

class Student {

public static function getStudentCount() {
var_dump($this);
return 42;
}

public function getName() {
var_dump($this);
return ‘神雕侠侣‘;
}
}

echo Student::getStudentCount(); //输出:NULL 42 /// var_dump($this)没有对象标识符
echo ‘<hr>‘;
echo Student::getName(); //输出:NULL 神雕侠侣 /// var_dump($this)没有对象标识符
echo ‘<hr>‘;
echo ‘<br>‘;
echo ‘<hr>‘;
$s = new Student;
echo $s->getName();//输出:object(Student)#1 (0) { } 神雕侠侣 ///实例化之后var_dump($this)普通方法就有对象标识符
echo ‘<br>‘; ///
echo $s->getStudentCount();//NULL 42 ///静态方法实例化之后,var_dump($this)没有标识符
echo ‘<br>‘;

时间: 2024-08-25 05:14:41

php 普通方法和静态方法的相关文章

java8-新特性--(接口的默认方法与静态方法)

Java 8用默认方法与静态方法这两个新概念来扩展接口的声明. public interface Inte{ void method(); default void defaultMethod(){ System.out.println("default"); } static void staticMehod(){ System.out.println("static"); } }   public static void main(String[]args){

Python之路 - 属性方法,类方法,静态方法

本章内容 属性方法 类方法 静态方法 属性方法 属性方法就是通过使用装饰器 @property , 将一个方法变成一个静态属性 , 于是我们就可以通过访问属性 , 来或得一个方法的返回值 1 from urllib.request import urlopen 2 class Web_page: 3 def __init__(self, url): 4 self.url = url 5 self.__content = None 6 # 将content方法变成属性 7 @property 8

浅谈python中的一般方法、静态方法(staticmethod)和类方法(classmethod)

我们先来简单谈谈python类中一般方法.静态方法和类方法的区别. 1.类中的一般方法 一般方法在定义的时候,需要有表示类实例的参数(通常以self表示,例如def foo(self,arg1,arg2--)),一般方法不能通过类名.方法名()来调用,必须先创建类的实例,然后通过实例.方法名()来调用. 2.类中的静态方法 类中的静态方法用"@staticmethod"来修饰,静态方法在定义的时候,不需要表示类的实例,可想类外的方法定义一样.静态方法可以通过类名.方法名()和实例.方法

C#-面向对象——如何调用使用类 普通方法、静态方法的使用

类的调用使用 新建的类的命名空间与主函数的命名空间默认相同,如果不同,则主函数无法调用自定义类 比如: 只需要进行引用即可 如果不知道方法的类名,可以右键鼠标 → 解析 → using 即可 普通方法.静态方法的使用 普通方法:需要实例化对象,用对象点出来 静态方法:直接用类名点出来,不需要实例化对象 在主函数中 console 类的方法是不需要进行实例化的,如何将方法不进行实例化就可以使用? 在访问修饰符后加 static(静态) 即可,例如:

Python的程序结构(2) -&gt; 方法/Method -&gt; 静态方法、类方法和属性方法

静态方法.类方法和属性方法 在 Python 中有三种常用的方法装饰器(参考装饰器部分内容),可以使普通的类实例方法变成带有特殊功能的方法,分别是静态方法.类方法和属性方法. 静态方法 / Static Method 在 def 定义之前加上 @staticmethod 进行装饰,便可以使该方法成为静态方法,静态方法无法调用实例属性.静态方法可以通过实例或类进行调用.通常用于无需生成实例或无需共享实例属性的方法中,比如一些纯粹的数学公式计算等场合. 1 class Foo(): 2 @stati

Python普通方法、静态方法、类方法

开始 # -*-coding:utf-8-*- # 普通方法,类方法,静态方法的区别 __metaclass__ = type class Tst: name = 'tst' data = 'this is data' # 普通方法 def normalMethod(self, name): print self.data, name # 类方法,可以访问类属性 @classmethod def classMethod(cls, name): print cls.data, name # 静态方

Java 8——接口中个的默认方法和静态方法

在Java SE 8之前,interface只是事物的抽象,用来定义统一的抽象事物和描述事物的抽象行为和属性. 但是在Java SE 8中,增加了可以在interface中增加默认实现的行为和事物的静态行为. 一.为什么? java迭代了如此多的版本且主要采用的都是演化的思想而非重构(为了保证与历史的兼容性). 这样就容易出现很多比较难以处理的问题,接口在发布之后就已经被定型,除非我们能够一次性更新所有该接口的实现.比如某个历史接口有很多实现,需要在历史接口中增加一个行为,那么久需要在它的所有实

JDK8.0接口中的默认方法和静态方法

我们在接口中通常定义的方法是抽象方法,即没有方法体,只有返回值类型和方法名:(public abstract) void Method(); 类在实现接口的时候必须重写抽象方法才可以 jdk8中新加的默认方法和静态方法是什么呢? 可以通俗理解:静态方法属于类,调用静态方法通过接口名曲调用它,默认方法在实现类中可以重写,可以不重写 ;默认方法,在接口中定义,区别抽象方法,有方法体 public interface DefaultStaticInterface { //普通方法,类实现接口必须重写它

Java 8-接口的默认方法和静态方法

Java 8-接口的默认方法和静态方法 Java 8使用两个新概念扩展了接口的含义:默认方法和静态方法.默认方法使得接口有点类似traits,不过要实现的目标不一样.默认方法使得开发者可以在 不破坏二进制兼容性的前提下,往现存接口中添加新的方法,即不强制那些实现了该接口的类也同时实现这个新加的方法. 默认方法 默认方法和抽象方法之间的区别在于抽象方法需要实现,而默认方法不需要.接口提供的默认方法会被接口的实现类继承或者覆写,例子代码如下: private interface Defaulable