zoukankan      html  css  js  c++  java
  • 面向对象三

    一、代码块的概述和分类
    1. 代码块概述
    a. 在Java中,使用{} 括起来的代码被称为代码块。
    2. 代码块分类
    a. 根据其位置和声明的不同,可以分为局部代码块、构造代码块、静态代码块、同步代码块。
    3. 常见代码块的应用
    a. 局部代码块
    i. 在方法中出现,限定变量的生命周期,及早释放,提高内存利用率。
    b. 构造代码块(初始化块)
    i. 在类中方法外出现;多个构造方法中相同的代码存放在一起,每次调用构造都执行,并且在构造方法前执行。
    c. 静态代码块
    i. 在类中方法外出现;加了static修饰。
    ii. 在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且只执行一次。
    iii. 一般用于加载驱动。

    二、继承(继承关键字extends)
    1. 继承:让类与类之间产生关系,子父类关系。
    2. 继承的好处
    a. 提高代码的复用性
    b. 提高代码的维护性
    c. 让类与类之间产生关系,是多态的前提。
    3. 继承的弊端:
    a. 类的耦合性增强了。

    开发的原则:高内聚、低耦合
    耦合:类与类的关系
    内聚:就是自己完成某件事情的能力。
    4. java中类的继承特点
    	a. java中只支持单继承,不支持多继承。
    	b. java支持多层继承(继承体系)
    5. 继承的注意事项
    	a. 子类只能继承父类所有非私有的成员(成员方法和成员变量)
    	b. 子类不能继承父类的构造方法,但是可以通过super关键字去访问父类的构造方法。
    	c. 不要为了部分功能而去继承。
    6. 什么时候使用继承:
    	a. 继承体现的是一种关系:“is a”
    	b. 采用假设法:
    	如果有两个类A、B,只有他们符合A是B的一种,或者B是A的一种,就可以考虑使用继承。
    

    三、this和super的区别:
    1. this和super代表什么
    a. this:代表当前对象的引用,谁调用就代表谁。
    b. super:代表当前对象父类的引用。
    2. this和super的区别:
    a. 调用成员变量
    b. this.成员变量 调用本类的成员变量,也可以调用父类的成员变量。
    i. super.成员变量:调用父类的成员变量。
    c. 调用构造方法:
    i. this(…) 调用本类的构造方法
    ii. super(…) 调用父类的构造方法
    d. 调用成员方法:
    i. this.成员方法 调用本类的成员方法,也可以调用弗雷德成员方法。
    ii. super.成员方法 调用弗雷德成员方法。
    四、方法重写概述及其应用
    1. 方法重写:子父类出现了一模一样的方法(返回值类型可以是子父类)
    2. 方法重写的应用:当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类的方法体,这样,即沿线了父类的功能,又定义了子类特有的内容。
    3. 方法重写注意事项:
    a. 父类中私有方法不能被重写
    i. 因为父类私有方法子类根本无法继承。
    b. 子类重写父类方法时,访问权限不能更低。
    i. 最好一致。
    c. 父类静态方法,子类也必须通过静态方法进行重写(静态只能覆盖静态。其实这种算不上重写)
    d. 子类重写父类方法的时候,最好声明一模一样。
    五、final概述
    1. final修饰特点:
    a. 修饰类:类不能被继承
    b. 修饰变量:变量就变成了常量,只能被赋值一次。
    c. 修饰方法:方法不能被重写。
    d. final修饰变量的时候,一般和public static 一起修饰变量使用。
    2. 修饰变量注意事项:
    a. 修饰基本类型:是值不能被改变
    b. 修饰引用类型:引用地址不能被改变,但对象中的属性值可以改变。
    c. final修饰变量的初始化时机:
    i. 显示初始化:eg:final int num=10;
    ii. 在对象构造完毕之前
    eg:

  • 相关阅读:
    HDU 3681 Prison Break 越狱(状压DP,变形)
    POJ 2411 Mondriaan's Dream (状压DP,骨牌覆盖,经典)
    ZOJ 3471 Most Powerful (状压DP,经典)
    POJ 2288 Islands and Bridges (状压DP,变形)
    HDU 3001 Travelling (状压DP,3进制)
    POJ 3311 Hie with the Pie (状压DP)
    POJ 1185 炮兵阵地 (状压DP,轮廓线DP)
    FZU 2204 7
    POJ 3254 Corn Fields (状压DP,轮廓线DP)
    ZOJ 3494 BCD Code (数位DP,AC自动机)
  • 原文地址:https://www.cnblogs.com/snail0404/p/10434277.html
Copyright © 2011-2022 走看看