码迷,mamicode.com
首页 > 其他好文 > 详细

回顾面向对象基础

时间:2015-04-30 12:36:07      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

 

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

 

 1.为什么静态方法无法访问非静态成员

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

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

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


 3.Final变量的注意事项 

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

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

         3.对于引用类型,一旦赋值以后,将不能重新来引用另外一个对象,然而可以修改其引用对象的成员变量

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

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

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


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

    因为总有一些方法,行为与结果不依赖于对象的状态


 5.成员访问修饰符


    

可见性

public

protected

默认

private

对同一个类

同包中的任何类

包外所有非子类

包中子类继承访问

包外子类继承访问


 6.抽象类与抽象方法

  

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


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


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


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


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


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


8.接口

   

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


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


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


 9.构造器执行流程

   

1.一旦编写了任意一个构造器,无论是否是有参数的构造器,系统都不会再提供默认的无参数的构造器。


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


3.创建子类时,会走父类中默认的构造函数,无论子类创建的时用的是哪个构造函数






回顾面向对象基础

标签:

原文地址:http://blog.csdn.net/luckyzhoustar/article/details/45392843

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!