黑马程序猿-lesson4

来源:互联网 发布:linux强制修改命令 编辑:程序博客网 时间:2024/06/09 18:13
extends:
java只支持单继承,支持多层继承,不支持多继承。
子类通过super调用父类构造方法。子类调用构造函数时先调用父类的构造函数,默认是编译器自发的不带参数的构造函数=super();。
子类对象实例化过程ppt。
super()、this()调用语句不能同时在一个构造函数中出现。
super()或者this()只能作为构造函数中的第一句出现。
子类中的覆盖父类的方法时不能比父类的访问权限更弱。




final:类、属性、方法。
如果用构造函数对final属性进行初始化必须所有构造函数内都有初始化,加有static则不能用构造函数。例:public static final String x="aaa";。
java中的常量都定义在类中。


abstract:
包含抽象函数的类,类名前必须加abstract成抽象类。抽象类中不是所有方法都是抽象方法。不能被实例化。只需声明不需实现{}。子类要实例化必须能覆盖所有抽象方法。

interface:
是抽象方法和常量的结合,特殊的抽象类。接口内常量可以不用加static、public、final。抽象方法可不用加abstract。接口内抽象方法默认都是public型。
一个类只能继承一个类,可实现多个接口。例子:class Bird extends Person implements Runner,Flyer
父类中的静态常量是可以通过子类的名称直接引用。

对象的强制类型转换。


public boolean equals(Object obj){}//对Object中的equals进行重写。


//////////////////////////////////////////////
多态:1不必为每个子类编写功能调用。2向后兼容。

匿名内置类:例:
interface PCI{    void start();    void stop();}

mb.usePCICard(new PCI()    //跟大括号表示new一个PCI的子类对象
    {
    public void start()                        {System.out.println("test start");}
    public void stop()                        {System.out.println("test stop");}
    }
    );

Exception类:
函数后throws Exception,调用就必须try...catch
有throws Exception后内部不用进行处理。在main函数上throws Exception最好别用。一个方法中可以声明抛出多个异常(含自定义异常)。一try多个catch不同匹 配,catch(Exception e)不能放到其他catch语句前面。
还有通过throw,try catch进行程序的跳转。
finally中代码不管有无异常还是有return,break等始终要执行。唯一不被执行的是在其之前执行有System.exit(0); ——程序终止语句。
子类要抛出父类抛出异常或这其异常的子类,如果是多个异常,则只能为其子集。

加包后硬盘上必须对应的目录存放结构。
程序中调用不同包中的类必须写上完整的包名。所以有import。包外类访问要public。import引用父包时不会同时引用子包下的类,需要单独引用。
注意:例如java.sql.*  与 java.util.* 都有Date对象,则引用是还是要加上包名。

缺省的访问控制,为包内可访问的。

jar文件。


原创粉丝点击