java static静态方法源码讲解
时间:2019-04-19
本文章向大家介绍static,主要包括static使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1 <?php 2 class SomeClass 3 { 4 protected $some_member;//受保护 5 protected static $test = 'test'; 6 static $static_test = 'static'; 7 public function __construct() 8 { 9 $this->some_member = 1; 10 } 11 12 public static function getSomethingStatic() 13 {//静态方法 14 // return $this->some_member * 5; //错误的使用方法 15 $test = new SomeClass();//静态方法 所以要实例化这个类;而不能直接用 $this-> 16 return $test->some_member * 5; 17 } 18 19 public function get_test(){ 20 return self::$test; 21 } 22 } 23 24 class ChildClass extends SomeClass{ 25 public function childprotected(){ 26 return parent::$test; 27 } 28 } 29 30 echo SomeClass::$static_test. "\n"; 31 // echo SomeClass::$test. "\n";// Uncaught Error: Cannot access protected property SomeClass::$test 32 echo SomeClass::getSomethingStatic(). "\n";//静态方法不需要通过类实例化的对象即可调用 33 34 $some = new SomeClass(); 35 echo $some->getSomethingStatic(). "\n";//静态方法也可通过类实例化的方法来调用 36 echo $some->get_test(). "\n"; 37 echo $some::$static_test. "\n"; 38 39 //将类名赋值给变量 40 $class_name = 'SomeClass'; 41 echo $class_name::$static_test. "\n"; 42 43 // echo $some->static_test;//Undefined property: SomeClass::$static_test 44 //echo $some->$test;//报错:Undefined variable: test 45 //echo SomeClass::$test;//报错: Fatal error: Uncaught Error: Cannot access protected property SomeClass::$test 46 47 // echo ChildClass::$test. "\n"; //Uncaught Error: Cannot access protected property ChildClass::$test 48 echo ChildClass::childprotected(). "\n";//输出父类受保护的变量 49 echo ChildClass::$static_test. "\n";//输出父类共有变量 50 51 52 53 **************不喜勿喷,谢谢!***************
- 网站每日PV/IP统计/总带宽/URL统计脚本分享(依据网站访问日志)
- 查看服务器系统资源(cpu,内容)利用率前几位的进程的方法
- 腾讯云平台部总经理陈磊:大数据背后的技术支撑
- DataSet与Xml相互转化
- SqlTransaction事务使用示例
- nginx的web缓存服务环境部署记录
- nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)的部署记录
- [转自blueidea]像table一样布局div Ⅰ
- 如何对动态创建控件进行验证以及在Ajax环境中的使用
- 升级个人网站框架组件IBatisNet+Castle
- 如何在多线程中调用winform窗体控件
- gerrit代码简单备份方案分享
- svn代码发版的脚本分享
- 正则表达式提取指定内容
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Java线程状态详解
- 设计模式~命令模式
- 基于DelayQueue实现的带失效时间的缓存
- 基于AQS实现的简单的Semaphore
- 图解:基于B+树索引结构,MySQL可以这么优化
- Android开发笔记:Retrofit + OkHttp3 + coroutines + LiveData打造一款网络请求框架
- Nginx安装与使用
- 基于Redis实现分布式锁
- 通过简单代码示例了解七大软件设计原则
- Flink在新浪微博的在线机器学习和实时数据分析
- Nginx + Keepalived使用文档
- 22+ 高频实用的 JavaScript 片段 (2020年)
- 文件上传C:fakepath解决方案
- Asp.net web api部署在某些服务器上老是404
- Spring解决循环依赖的思路