public:权限是最大的,可以内部调用,实例调用等。

protected: 受保护类型,用于本类和继承类调用。

private: 私有类型,只有在本类中使用。

final:PHP 5:不被改,不被继承( php5新增了一个 final 关键字。如果父类中的方法被声明为 final,则子类无法覆盖该方法。如果一个类被声明为 final,则不能被继承 )

const :一旦赋值不能被改变

abstract:抽象类。(php6)

static:

protected $cache = 300;   // 缓存时间
const da = '1';
static $dg = '2';
private $dd = '3';
public $df = '4';
 public function info(){
echo $this->cache;
echo self::da;
echo self::$dg;
echo $this->dd;
echo $this->df; }

public function使用:公共方法。使用的时候需要实例化new 

<?php
$a = new Article()
eho $a->t()
?>

 public static function使用:公共静态方法,无需实例化直接调用

<?php

class e6 {
//静态属性
static public $n = 1;
//静态方法
static public function test() {
echo 'hello';
}
} //访问静态元素
echo e6::$n; //输出 1
echo e6::test(); // 输出 hello //修改静态属性
e6::$n = 88;
echo e6::$n; //输出88 ?>

// thinkphp5代码

indexBase.php

index.php

<?php
namespace app\index\controller;
use app\index\controller\IndexBase; //class index extends IndexBase{
class index{
public function index(){
echo IndexBase::$n; //输出 1
echo IndexBase::test(); // 输出 hello echo "</br>"; //修改静态属性
IndexBase::$n = 88;
echo IndexBase::$n; //输出88
} }

总结:static不用导入,就可以全局通用;静态属性可以被改变

static使用

class IndexBase{
static $s = 9;
} class index{
public function index(){
echo IndexBase::$s; // 输出9
IndexBase::$s = 89;
echo IndexBase::$s; // 输出89 } }

protected static:受保护的静态属性

1212

php public,static,private,protected,final,const,abstract的更多相关文章

  1. 【Java】abstract,final,static,private,protected,public的区别

    [abstract]抽象的 1. abstract可以修饰类和成员方法,被abstract修饰的类称为抽象类,被abstract修饰成员方法叫抽象方法.抽象类不一定有抽象方法,但拥有抽象方法的类一定是 ...

  2. php class中public,private,protected的区别,以及实例

    一,public,private,protected的区别 public:权限是最大的,可以内部调用,实例调用等. protected: 受保护类型,用于本类和继承类调用. private: 私有类型 ...

  3. static private 与 final 的用法总结

    1.static表示静态.他是属于类的.可以在本身类里直接调用,或在其它类里用类名.方法名调用.不加static表示是实例的方法,必须用实例来调用.在本类里也一样,必须用实例调用 2.private是 ...

  4. public static void speckOnWin7(string text),在win7中读文字

    public static void speckOnWin7(string text) {    //洪丰写的,转载请注明 try { string lsSource = ""; ...

  5. final方法,abstract方法和abstract类,native方法

    final方法 1.为了确保某个函数的行为在继承过程中保持不变,并且不能被覆盖(override),可以使用final方法. 2.为了效率上的考虑,将方法声明为final,让编译器对此方法的调用进行优 ...

  6. C++中的public、private、protected成员继承问题

        我是C++菜鸟,刚学了一点C++. 先看例子1: /* Item.h */ #include <iostream> #include <string> class It ...

  7. [译]C# 7系列,Part 5: private protected 访问修饰符

    原文:https://blogs.msdn.microsoft.com/mazhou/2017/10/05/c-7-series-part-5-private-protected/ C#有几个可访问性 ...

  8. 为什么main方法是public static void?

    Main方法是我们学习Java编程语言时知道的第一个方法,你是否曾经想过为什么main方法是public.static.void的.当然,很多人首先学的是C和C++,但是在Java中main方法与前者 ...

  9. 为什么 main 方法是 public static void ?

    Main方法是我们学习Java编程语言时知道的第一个方法,你是否曾经想过为什么main方法是public.static.void的.当然,很多人首先学的是C和C++,但是在Java中main方法与前者 ...

随机推荐

  1. jQuery弹性展开收缩菜单插件gooey.js

    分享一款基于jQuery弹性展开收缩菜单插件gooey.js.这是一款基于gooey.js插件实现的弹性菜单特效代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <hea ...

  2. http://www.apple.com/customer-letter/

    Typora Writingshtml, body {overflow-x: initial !important;}html { font-size: 14px; } body { margin: ...

  3. RRDtool运用

    一 建立RRD数据库(.rrd文件) $ rrdtool RRDtool Copyright - by Tobias Oetiker <tobi@oetiker.ch> Compiled ...

  4. Windows API 常用函数

    .Net中虽然类库很强的,但还是有些时候功能有限,掌握常用的api函数,会给我们解决问题提供另一种思路,下面给出自己常用到的Api函数,以备查询. 知道api函数,但却不知道c#或VB.net该如何声 ...

  5. 【C】——线程引入 pthread_self 和 pthread_equal 原因 ——解决不同平台的问题!

    1.引入pthread_equal的原因: 在线程中,线程ID的类型是pthread_t类型,由于在Linux下线程采用POSIX标准,所以,在不同的系统下,pthread_t的类型是不同的,比如在u ...

  6. WebRTC 源码分析(五):安卓 P2P 连接过程和 DataChannel 使用

    从本篇起,我们将迈入新的领域:网络传输.首先我们看看 P2P 连接的建立过程,以及 DataChannel 的使用,最终我们会利用 DataChannel 实现一个 P2P 的文字聊天功能. P2P ...

  7. OpenResty最佳实践

    https://moonbingbing.gitbooks.io/openresty-best-practices/content/

  8. 強大的javascrpt原型链學習

    一个自带隐式的 __proto__ 属性[implicit __proto__ property],指向foo的原型 這有點類似實現C# 繼承作用 a類的公共東西,給b和c類共用 var a = { ...

  9. javascript验证键盘keycode

    document.onkeyup = function(event){ var event = event || window.event; alert(event.keyCode); }

  10. ggplot2 subscript in x-axis labels(ticks, legend)

    #==============================# ggplot2: subscript in x-axis labels(ticks) rm(list=ls(all=TRUE))lib ...