Java精华

来源:互联网 发布:优化量能指标公式 编辑:程序博客网 时间:2024/04/28 22:27

  1.非静态对象的初始化(对象数据而非类数据 非static)

     创建对象时,对象所在类的所有数据成员会首先进行初始化。

        基本类型:int型,初始化为0

        如果为对象:这些对象会按顺序初始化

     类的所有数据成员完成初始化之后,调用本类的构造方法创建对象,构造方法的作用是初始化。

 

2.静态对象的初始化

   程序中主类的静态变量在main方法执行前初始化。在主类加载后就执行初始化

   第一次访问某类的静态对象时,所有的静态变量要按他们在类中的顺序初始化

 

3.继承时,类的初始化顺序

  (1)主类的超类由高到低按顺序初始化静态成员,无论静态成员是否为private(超类的静态成员)

  (2)主类的静态成员初始化

  (3)主类的超类由高到低进行默认构造方法的调用,在调用每一个超类的默认构造方法前,先对此超类进行非静态对象的初始化

  (4)主类非静态成员的初始化

  (5)调用主类的构造方法

 

4.public  protected  private

(1)无public修饰的类  其他类可以访问的条件:

        a. 两个类在同一文件中

        b. 两个类在同一个文件夹中

        c. 两个类在同一个软件包中

(2)protected:继承类 或者两个类在同一个软件包中

(3)如果构造方法为private,则在其他类中不能创建该类的对象

 

5.抽象类

(1)抽象类不能够被实例化

(2)如果一个类中有抽象方法,则这个类必须为abstract抽象类

(3)继承抽象类的具体类必须在类中实现抽象类中的抽象方法

(4)抽象类中可以有抽象方法,也可以有非抽象方法,抽象方法不能为private

(5)间接继承类可以不实现抽象类中的抽象方法

 

6.final关键字

(1)《对象是final》一个对象是常量,不代表不能转变对象的成员,仍可以对其成员进行操作,对象是常量,该变量只能指向该对象,但是可以对对象的成员进行操作

(2)《变量是final》常量在使用前必须赋值,除了在声明的同时初始化之外,只能在构造方法中初始化(初始化时机:声明时初始化  构造方法初始化)

(3)《方法是final》final修饰的方法不能被重写,因此final的方法不能是abstract 

(4)《final类》final类不能被继承,如果一个类是final,则所有的方法均为final,即所有的方法均不能被重写,必须有具体的方法体,但数据成员可以是final也可以不是

 

7.接口

(1)接口中所有数据均为static和final,即静态常量,尽管可以不用这两个关键字修饰,但必须给常量赋初值

(2)接口中的方法均为public,在实现接口的类中,实现方法必须为public关键字

(3)如果使用public修饰接口,接口必须与文件名相同

 

8.多重继承

(1)一个类只能继承一个类,但是可以实现多个接口,将类卸载前面,接口写在后面,接口之间用逗号隔开

(2)接口之间可以多重继承,一个接口继承另外一个接口,使用关键字extends

(3)一个类虽只实现一个接口,但不仅要实现这个接口的所有方法,还要实现这个接口继承的接口的方法,接口中所有方法须在类中实现

 

9.接口嵌入

(1)接口嵌入类中,可以使用private修饰,此时,接口只能在所在的类中实现,其他类不能访问

(2)嵌入接口的接口一定为public

 

10.类的嵌入

(1)类可以嵌入另一个类中,但不能嵌入接口中

(2)在静态方法或其他方法中,布恩给你直接创建内部类对象,

 

11.异常类

Java除了RunTimeException类,其他异常均须捕获或抛出

原创粉丝点击