11、

OCJP 11-20_web

OCJP 11-20_ocjp_02

内部类:

OCJP 11-20_web_03


12、

OCJP 11-20_ocjp_04

多态 向上向下转型

//向上转型:限定功能使用,提高扩展性
Animal a = new cat();//自动类型提升
abstract class Animal{
    abstract void eat();
}
class Cat extends Animal{
    public void eat(){
        System.out.println("猫吃鱼");
    }
    public void catchMouse(){
        System.out.println("猫抓老鼠");
    }
                                                                                                                                                                                                                                                                                                                
}
//一旦完成了这个自动转型,就不能访问特有的行为
//上边的 对象 a 就不能访问cat 类里边没有从Animal里边继承来的catchMouse方法
                                                                                                                                                                                                                                                                                                
//向下转型:这样是为了调用特有的方法。
Cat c = (Cat)a;
                                                                                                                                                                                                                                                                                                        
// 总的来说:
//如果子类继承父类后,没有对方法进行覆盖,那么自动转型后是可以使用父类中的方法。
//如果子类方法将父类方法覆盖了,那么调用的就是子类中地方法。
//但是,如果父类本来就没有这个方法。转型后,硬要调用这个方法,编译失败。
                                                                                                                                                                                                                                                                                                
abstract class Animal{
    abstract void eat();                                   
    void sleep(){
        System.out.println("Sleep");
    }
}
class Cat extends Animal{
    public void eat(){
        System.out.println("eat fish");
    }
    public void catchMouse(){
        System.out.println("catchmouse");
    }
}
public class Test{
    public static void main(String []args){
        Animal a = new Cat();
        a.sleep(); //a.catchMouse();直接编译失败
    }
}


13、

OCJP 11-20_ocjp_05

OCJP 11-20_web_06

重写overwrite与重载overload:

OCJP 11-20_web_07


OCJP 11-20_ocjp_08


14、

OCJP 11-20_ocjp_09

数组的声明与初始化:

OCJP 11-20_ocjp_10


OCJP 11-20_ocjp_11、‘

OCJP 11-20_web_12


OCJP 11-20_ocjp_13

OCJP 11-20_ocjp_14



15、

OCJP 11-20_ocjp_15

OCJP 11-20_ocjp_16



16、

OCJP 11-20_ocjp_17


17、

OCJP 11-20_ocjp_18

OCJP 11-20_ocjp_19

String类 + StringBuilder类:

OCJP 11-20_ocjp_20

OCJP 11-20_ocjp_21



18、

OCJP 11-20_ocjp_22

file类:

OCJP 11-20_web_23


OCJP 11-20_ocjp_24


OCJP 11-20_ocjp_25


19、

OCJP 11-20_ocjp_26

没有强制类型转换


20、

OCJP 11-20_ocjp_27

正则