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

黑马程序员----面向对象复习笔记

时间:2015-06-12 22:30:11      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:java

------- android培训java培训、期待与您交流! ----------

总结完就忘了的知识点,复习时候再做个记录

1. this:成员变量和局部变量重名时候使用,this指代本类对象

           而且还可以在构造函数中调用其他构造函数,但是必须放在第一行,因为初始化要先执行。


2.成员变量和静态变量差异

    成员变量:实例变量,随着对象创建而存在,对象被回收而消失,存在对象堆内存中,只能被                对象调用

    静态变量:类变量,随着类存在而存在,类的消失而消失,存在共享数据区。不仅可以被对象

            调用,也可以被类直接调用。

3.关于主函数:

    主函数是静态的,而且格式是固定的,是程序的入口,能被JVM识别。

    String[] args :主函数参数列表,是数组类型的参数,而且元素都是字符串。

4.静态变量:

    只要是对象共有的数据,可以用static修饰,如果对象数据不同(对象的特有数据),就不能用静态

5.静态函数:

    只要访问到对象特有数据,就不能用static修饰,反之则可以。

6.静态代码块和构造代码块和构造函数区别

    静态代码块格式 :static{代码块要执行的语句}

    随着类的加载而加载,只执行一次。优先主函数执行。对类的属性初始化。

    构造代码块 可以对所有对象初始化。每个对象建立都要执行。

    构造函数:对相对应的对象进行初始化,只在对象建立时候调用一次。

7.注释文档,想把一个类文档化,类必须是public ,其中私有方法不会在文档中体现出来。

8.super 关键字的用法

    子类可以访问父类非私有的属性和方法。

    super用法和this很像,如果子类和父类有同名的成员变量,就用super区分父类。

9.子父类成员函数操作

    当子父类中出现成员函数一模一样的情况,会运行子类的函数。这是函数在子父类中的另一个特性:函数的覆盖。当想用到父类中的函数时候可以用super.函数名获取

10.函数覆盖注意要点

    父类中私有方法不能被覆盖

    父类中的static的方法无法被覆盖

    子类的方法权限一定不小于父类方法的权限:就是修饰方法的关键字(常用public,private)

11.子父类的构造函数

    1、父类中如果没有空参构造函数,那么子类构造函数必须用this(子类中的构造函数)或者super(父类中的构造函数)指定要访问的构造函数。

  2、 如果子类构造函数,用this访问了子类中的另一个构造函数,则默认super()消失。因为this和super都必须存在构造函数的第一行。所以只有一个,但是必须保证有其他构造函数,访问父类构造函数。

    3、super必须要在第一行,因为必须要先初始化父类。

12、对象实例化过程,以Person p = new Person();为例:
    1. JVM会读取指定的路径下的Person.class文件,并加载进内存,并会先加载Person的父类(如果有直接的父类的情况下)。
    2. 在内存中开辟空间,并分配地址。
    3. 并在对象空间中,对对象的属性进行默认初始化。
    4. 调用对应的构造函数进行初始化。
    5. 在构造函数中,第一行会先到调用父类中构造函数进行初始化。
    6. 父类初始化完毕后,再对子类的属性进行显示初始化。
    7. 再进行子类构造函数的特定初始化。
    8. 初始化完毕后,将地址值赋值给引用变量。

13.抽象类和接口的区别

    抽象类:需要继承才能创建对象,只有单继承。有抽象方法也有非抽象方法,is  a关系

    接口:需要去实现,多实现。只有抽象方法。like a关系。



本文出自 “点点滴滴” 博客,请务必保留此出处http://arctictern.blog.51cto.com/10120640/1661350

黑马程序员----面向对象复习笔记

标签:java

原文地址:http://arctictern.blog.51cto.com/10120640/1661350

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