国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > 综合技术 > 回顾面向对象基础

回顾面向对象基础

来源:程序员人生   发布时间:2015-07-06 10:21:59 阅读次数:3518次

 

 学习编程也有3年了,还是对面向对象中的1些基础的知识了解的不是很深入,最近抽出时间又1次巩固了1下,特此总结1下。

 

 1.为何静态方法没法访问非静态成员

  由于静态方法属于类,非静态成员属于对象,所以静态方法将不知道关于其所属类的对象的信息

 2.为何非静态方法可以访问静态成员

  非静态成员的生命周期被静态成员生命周期包括,因此当非静态成员存在的时候,静态成员绝对存在。故非静态成员在任什么时候候都可以访问静态成员


 3.Final变量的注意事项 

1.final的成员变量必须为其初始化

         2.对原始类型,1旦赋值以后,该值就不能修改,

         3.对援用类型,1旦赋值以后,将不能重新来援用另外1个对象,但是可以修改其援用对象的成员变量

         4.final局部变量,可以只声明而不初始化,1旦初始化值不能被修改

         5.final修饰类时,其含义是该类不能再被拆分,任何其他类都不能继承final修饰的类

         6.一样方法修饰的方法,也是这样,子类将不能重写该方法,只能继承


 4.为何要有静态变量的存在

    由于总有1些方法,行动与结果不依赖于对象的状态


 5.成员访问修饰符


    

可见性

public

protected

默许

private

对同1个类

同包中的任何类

包外所有非子类

包中子类继承访问

包外子类继承访问


 6.抽象类与抽象方法

  

1.抽象方法只能存在于抽象的类中,非抽象类中不能存在抽象方法


2.抽象方法的声明,是没有方法体的。最后用分号结束。


3.抽象类中的非抽象方法常常是抽象类所有未来子类所具有的。且不会由于子类的不同而具体实现不同的方法。


4.当某类继承自抽象类时,如果其本身不是抽象类,则必须实现所继承抽象类中的抽象方法。


5.抽象类只能继承1个父类,但是可以实现多个来自任何地方的接口


6.抽象类中必须有1个无参数的构造函数,默许会有1个,但是如果定义新的话,会覆盖。


8.接口

   

1.接口中只能定义常量属性,这样才能保证实现接口的任何类都可以访问相同的属性,不能动态将其值随便修改。


2.接口中方法与不能用staticfinal修饰


3.接口只能继承接口,不能继承类


 9.构造器履行流程

   

1.1旦编写了任意1个构造器,不管是不是是有参数的构造器,系统都不会再提供默许的无参数的构造器。


2.构造器是不能被继承的


3.创建子类时,会走父类中默许的构造函数,不管子类创建的时用的是哪一个构造函数





生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生