黑马程序员技术交流社区

标题: 对前面的知识点的总结 欢迎补充 [打印本页]

作者: 王晓龙    时间: 2012-8-3 23:01
标题: 对前面的知识点的总结 欢迎补充
一代码块
方法中的代码块
在方法中可以使用{}形式来定义一段代码, 超出范围之后{}中的变量就会销毁
2类中的代码块
在类级别下用{}定义一段代码, 它算是类的一个成员, 当创建对象之后就会执行这段代码

二.静态变量       
静态变量在类加载后就初始化, 不用创建对象, 可以直接使用
静态变量可以直接使用"类名.变量名"访问, 也可以使用"对象.变量名"访问. 推荐使用前者.
静态的变量被该类所有对象共享, 该类所有对象共同拥有1个变量
        当某个类所有对象都要使用同一个数据时, 这个数据就应该是静态的
静态方法中只能使用静态成员变量
               
三.静态方法
静态方法可以在类加载后直接调用, 不用创建对象.
静态方法可以使用"类名.方法名"形式访问, 也可以使用"对象.方法名"访问. 推荐使用前者.
静态方法中不能访问非静态成员(变量,方法), 因为非静态成员必须创建对象才能使用, 而静态方法不创建对象就可以调用
在定义方法时, 如果这个方法不访问任何非静态成员, 就可以定义为静态方法. 这样别人使用方法时无需创建对象, 给人提供方便.
一个类无法创建对象时, 通过静态方法获取对象

四.静态代码块
静态代码块在类加载就执行
静态代码块和静态方法相同, 都是静态上下文, 不能访问外部非静态成员
在定义一个类时, 如果希望别人一使用我们这个类, 就执行一段代码, 那么就可以将代码放在静态代码块中               

五.继承
       
一个类使用extends关键字可以继承另一个类
子类会继承到父类的属性和方法       
在定义一个类的时候, 发现另一个类的功能这个类都需要, 那么我们就可以在当前类名的后面使用extends关键字继承另一个类       
Java中只支持单继承, 不能多继承, 可以多重继承
因为一个类如果继承多个父类, 那么父类中如果有相同的方法声明, 子类就无法确定调用哪一个了
多重继承就是指子类继承父类, 然后又有其他类继承子类
原理:
  子类之所以能继承到父类的属性和方法, 其实在创建子类对象的时候, 也创建了一个父类对象
  访问子类的属性和方法时, 会先在子类中查找, 找到就直接使用, 找不到则使用父类的
  父类中的属性和方法如果是私有的, 不会被继承
子类对象创建过程
  在创建子类对象的时候, 会先创建父类对象
  如果没有显式指定调用父类哪个构造函数, 程序会使用"super()"形式自动调用父类构造函数
  如果不想调用父类无参构造函数创建对象, 我们也可以在子类构造函数中使用"super(参数)"调用父类有参构造函数
super和this:
  super是调用父类构造函数, this是调用当前类构造函数
  他们都是只能出现在构造函数的第一条语句, 二者只能选其一
  构造函数的第一条语句要么是this(), 要么是super(), 如果都没写, 默认是super()
作者: 戎石锁    时间: 2012-8-3 23:32
我保存了啊 哈哈 谢谢
作者: 柯伟斌    时间: 2012-8-15 11:04
必须保存
作者: 黑马-郑鹏    时间: 2012-8-15 11:10
这个要珍藏才行
作者: pphdsny3    时间: 2012-8-15 11:15
总结的不错...顶个!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2