首页 新闻 会员 周边

运行以下php代码,为什么会出现一个致命错误?

0
悬赏园豆:5 [已关闭问题] 关闭于 2017-11-22 10:59
//运行以下php代码,为什么会出现一个致命错误?为什么?
<?php 
 Abstract class a{
     function __construct(){
   echo 'a';
}
}
$a=new a();
复制代码
php
飞离地平线的主页 飞离地平线 | 初学一级 | 园豆:16
提问于:2017-11-22 10:04
< >
分享
所有回答(2)
1

抽象类中至少要有一个抽象方法

你的没有

mechnaic | 园豆:225 (菜鸟二级) | 2017-11-22 17:23

谢谢

支持(0) 反对(0) 飞离地平线 | 园豆:16 (初学一级) | 2017-12-14 11:39

抽象类可以没有抽象方法,楼下才是正解,抽象类的构造不能public;

支持(0) 反对(0) PHP急先锋 | 园豆:200 (初学一级) | 2021-07-16 15:35

抽象类可以没有抽象方法,也可以用public 修饰__construct(), 但是不能被实例化,所有最后一段实例化代码 解析错误,Fatar error

支持(0) 反对(0) PHP急先锋 | 园豆:200 (初学一级) | 2021-07-16 15:40
0

<?php

Abstract class a{

  protected function __construct(){ echo 'a'; }

}

$a=new a();

//抽象类中定义构造方法必须用protected保护类型声明,因为不写的话默认为public公共类型,而抽象类有不能被实例化,所以必须保证类的外部不能访问到该构造方法才行

希望对你有所帮助

我只是慕名而来 | 园豆:303 (菜鸟二级) | 2017-12-13 21:34

谢谢啊 明白了

支持(0) 反对(0) 飞离地平线 | 园豆:16 (初学一级) | 2017-12-14 11:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册