【面向对象】如何在静态方法中使用非静态变量?
2012-11-27 09:54
330 查看
关于静态方法和静态变量:
1)static方法中不能直接使用非静态成员,因为非静态成员与实例相关,通过实例化间接使用
2)static方法中不能用this(与实例相关)
3)非static方法中可以使用static成员
如何在静态方法中使用非静态变量?实例:
在静态方法getCount()中,创建了一个新变量$b=new abc()初始化类,然后再使用类的非静态变量就可以了。
1)static方法中不能直接使用非静态成员,因为非静态成员与实例相关,通过实例化间接使用
2)static方法中不能用this(与实例相关)
3)非static方法中可以使用static成员
如何在静态方法中使用非静态变量?实例:
<?php
class abc{
public $count=8;
function __construct(){
$this->count++;
}
static function getCount(){
$b=new abc();
return $b->count;
}
}
$c=new abc();
$b=new abc();
echo $b->getCount();
?>
在静态方法getCount()中,创建了一个新变量$b=new abc()初始化类,然后再使用类的非静态变量就可以了。
相关文章推荐
- C#-面向对象——如何调用使用类 普通方法、静态方法的使用
- 静态方法中不能使用非静态变量
- 关于Python中如何使用静态、类、抽象方法的权威指南
- 【Java】中静态方法如何访问非静态方法和非静态变量
- 关于Python中如何使用静态、类、抽象方法的权威指南
- 关于Python中如何使用静态、类、抽象方法的权威指南(译)
- 如何 "使用" 静态方法约束实现类或子类
- 08_面向对象【帮助文档的制作和作用、如何使用JDK提供的帮助文档、代码块概述(局部代码块,构造代码块,静态代码块)和讲解、继承】
- eclipse 中main()函数中的String[] args如何使用?通过String[] args验证账号密码的登录类?静态的主方法怎样才能调用非static的方法——通过生成对象?在类中制作一个方法——能够修改对象的属性值?
- JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
- JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
- 关于如何在Python中使用静态、类或抽象方法的权威指南
- JS面向对象(3) -- Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
- 音乐录像带之如何使用静态的makeEvent()方法
- 如何使用PHP静态方法与属性
- spring注入的方式实现静态方法中使用非静态变量
- 如何使用powerMockito对静态方法测试(static)
- 如何使用VC++ 2005 给ActiveX控件添加方法,属性,事件
- java同步静态方法与非静态方法(使用synchronized关键字)
- python 8-1 如何使用多线程,Thread创建线程,执行函数赋值给target//类+函数放在run方法中执行