扫码关注官方订阅号
ringa_lee
说说你的理解,为什么类里面不能创建自己的对象?这几个变量加上了static后就变成了类的属性了,只会创建一次。
如果自己都不能创建自己,那其他类就更不能了。这样的话这个类怎么实例化……
设计模式:单例模式
本质是对java的面向对象编程的不理解。看看23种设计模式你可能就会理解
构造函数也是一个方法。
具有 private 访问权限的方法表示私有的,只有本类可见。
private
所以,本类可以调用具有 private 访问权限的构造函数实例化一个对象。
使用内部类的原因:每个内部类都能独立的继承自一个(接口的)实现,所以无论外部类是否已经继承了某个(接口的)的实现,对内部类都没有影响。实际上内部类有效的实现了“多重继承”,就是说,内部类允许继承多个非接口类型。
我们知道内部类自动拥有对外部类所有成员的访问权,那么这是如何做到的吗?当某个外部类对象创建了一个内部类对象时,此内部类对象必定会秘密的捕获一个指向那个外部类对象的引用。然后,在你访问外部类的成员时,就是用那个引用来选择外部类的成员。当然这些细节是编译器处理,并且这里的内部类是非static的。如果一个类都不能创建自己的类对象,那我要你这个类何用?啊,哈哈哈哈,开玩笑咯
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
说说你的理解,为什么类里面不能创建自己的对象?
这几个变量加上了static后就变成了类的属性了,只会创建一次。
如果自己都不能创建自己,那其他类就更不能了。这样的话这个类怎么实例化……
设计模式:单例模式
本质是对java的面向对象编程的不理解。看看23种设计模式你可能就会理解
构造函数也是一个方法。
具有
private访问权限的方法表示私有的,只有本类可见。所以,本类可以调用具有
private访问权限的构造函数实例化一个对象。使用内部类的原因:每个内部类都能独立的继承自一个(接口的)实现,所以无论外部类是否已经继承了某个(接口的)的实现,对内部类都没有影响。实际上内部类有效的实现了“多重继承”,就是说,内部类允许继承多个非接口类型。
我们知道内部类自动拥有对外部类所有成员的访问权,那么这是如何做到的吗?当某个外部类对象创建了一个内部类对象时,此内部类对象必定会秘密的捕获一个指向那个外部类对象的引用。然后,在你访问外部类的成员时,就是用那个引用来选择外部类的成员。当然这些细节是编译器处理,并且这里的内部类是非static的。
如果一个类都不能创建自己的类对象,那我要你这个类何用?啊,哈哈哈哈,开玩笑咯