j2se读书笔记

来源:互联网 发布:淘宝919有活动吗 编辑:程序博客网 时间:2024/05/01 23:31

    1.对于具有final和static属性的成员域,则通常要求带初始化的变量名的形式定义;如果不带初始化,则该成员域的值只能为默认值。对于具有final而不具有static属性点成员域, 除了采用带初始化的变量名的形式定义该成员域附初值以外,通常还可以在构造方法中给不带初始化的成员域一次赋值操作。

    2.path记录的是各个运行程序所在的路径,classpath通常用来记录当前路径和j2se类库所在的路径。

    3.java中的名称命名规范:

       -包名:多单词组成时所有字母都小写,如xxxyyyzzz

      -类名接口名:多单词组成时,所有单词的首字母大写,如XxxYyyZzz

      -变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个首字母大写,如xxxYyyZzz

      -常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

    4.byte、short、char之间不会相互转化,它们在计算时首先转化为int类型。

    5.boolean类型数据只能取值true和false,不可以0或非0的整数替代true和false,这点和C语言不同。

    6.类的实例对象的生命周期包括实例对象的创建、使用、废弃、以及垃圾的回收。

    7.垃圾回收机制:垃圾回收机制的基本原理是在适当的时机回收不在被Java程序所用的内存。一般不会立即回收,不保证回收顺序,不保证回收时间!Java系统自己定义了一套   垃圾回收算法,用来提高垃圾回收的效率。因此Java系统并不保证先申请的存储单元会先释放,也不保证先成为“垃圾”的存储单元会先被释放。在Java系统提供的类System中含有静态成员方法   public static void gc()   调用该成员方法可以向Java虚拟机申请尽快进行回收垃圾,但不能保证Java虚拟机会立即进行垃圾回收。可以通过该   System.gc()    直接调用该成员方法。在所有的类中实际上都含有成员方法   protected void finalize() throws Throwable   这个成员方法是类java.lang.Object的成员方法。在实例对象所占据的内存即将被回收之前,通常会调用该实例对象的finalize成员方法,但是Java系统不保证在回收实例对象所占据的内存单元之前一定会调用finalize成员方法。因此程序不应当依赖于finalize成员方法来统计程序对内存资源的占用情况。

    8.在类的定义中,当前定义的类与其直接父类之间在构造方面存在约束关系,即当前定义的类的构造方法必须调用其直接父类的构造方法,而且该调用语句必须是当前定义的类的构造方法的第一条语句。其调用格式是 super(调用参数列表);如果在当前定义的类的构造方法中没有显示的调用父类构造方法的语句,则Java虚拟机一般会自动的在当前定义的类的构造方法的第一条语句前自动地、隐式地添加调用不含任何参数的直接父类构造方法的语句。如果这时在直接父类中没有不含任何参数的构造方法,则在编译时将会出现编译错误!

    9.switch表达式的数据类型只能是byte、char、short、int、enum、字符串类型

    10.break语句用在switch语句、循环语句、带标号的语句块中,带标号的语句块的定义如下:

          语句块标号: 语句块标号:

          {  循环语句

             语句组

           }

         continue语句只能用在循环语句和带标号的循环语句中。

    11.多态性包括两种类型,动态多态性和静态多态性。需要注意,当在类定义中出现同名的成员域时,不仅与多态性没有关系,而且一般是不提倡。如果在当前定义的类的类体中出现同名的成员域,则程序一般无法通过编译;如果在当前定义的类体中出现与其父类的成员域同名的成员域,则程序可以通过编译,但是一般不提倡出现这种情况。Java中静态多态性是指在同一个类中同名方法在功能上的重载(overload)。这也包括一个类对其父类同名方法在功能上的重载,而且在方法申明的形式上要求同名的方法具有不同的参数列表。这里的方法可以是成员方法,也可以是构造方法。不同的参数列表是指方法的参数个数、参数的数据类型、或参数的数据类型排列顺序不同。动态多态性是指在子类和父类中定义了基本相同申明的非静态成员方法,称子类的成员方法对其父类基本相同申明的成员方法的覆盖(overload)。动态多态性只针对非静态的成员方法,,即静态成员方法不具有动态多态性。

    12.导入包语句的格式有三种,分别为:

       (1)import  包名.*;

       (2)import  包名.类型名;

       (3)import  static  包名.类型名.静态成员方法名;

导入包语句的使用原则是尽量使用比较后面的导入包语句形式;否则,会增加程序的内存开销,在一定程度上减低程序的编译效率。每个软件包都有一个包名,而且在包与包之间没有嵌套关系。

    13.类、接口或枚举的访问方式只有两种:public和default;类的成员(成员域、成员方法、构造方法)的访问方式有四种:public、protected、default、private。对类的成员的访问必须能够先访问类。public(同一个类、同一个包、子类、所有类)default(同一个类,同一个包)

    14.Java允许类、接口、成员方法具有抽象属性,但不允许成员域、构造方法具有抽象属性。无法通过抽象类的构造方法生成抽象类的实例对象。接口总是具有抽象属性。抽象类中可以包含抽象方法,但不是必须的,抽象方法一定在抽象类中。抽象成员方法的定义以分号结束,而且不含方法体。

    15.关键字final可以用来修饰不具有抽象属性的类,类的成员域,接口的成员域,类的不具有抽象属性的成员方法,而不可以用来修饰抽象类、接口、构造方法、抽象的成员方法以及接口的成员方法。

    16.接口的所有成员域都具有public、static、final属性,接口的所有成员方法都具有public和abstract属性。接口的应用方法非常类似于抽象类,只是通过接口可以在一定程度上实现多重继承。在实现接口的类中,除了抽象类之外,要求在该类体中定义覆盖该接口的所有成员方法。如果需要生成接口的实例对象,可以通过实现接口的类的构造方法来实现。根据继承性,实现接口的类的实例对象也可以认为是该接口的实例对象。

    17.内部类分为实名内部类和匿名内部类,实名内部类的封装性增加了protected和private属性。对于不具有静态属性的实名内部类,如果它的成员域具有静态属性,则必须同时具有final属性,不具有静态属性的实名内部类不能具有静态的成员方法。匿名内部类不具有类名,不具有抽象和静态属性。如果匿名内部类的成员域具有静态属性,则必须同时具有final属性。匿名内部类不能含有静态属性的成员方法。

定义匿名内部类的定义可以采用格式:

       new  父类型名(父类型的构造方法的调用参数列表)

        {

                类体

        };

如果需要使用匿名内部类的实例对象,则可以直接采用上面的格式生成的实例对象。另一种方式是通过其父类型的变量,即先让其父类型的变量指向匿名内部类的实例对象,在由该变量调用被匿名内部类覆盖的成员方法或者父类型的成员方法。一般使用方式正是后一种方式。

    18.Java语言中,允许局部变量与成员域同名,也允许子类型的成员域与其父类型的成员域同名。

    19.抽象类可以有构造方法,只是不能直接创建抽象类的实例对象。在继承了抽象类的子类中通过super(参数列表)调用抽象类的构造方法。

    20.输入流将数据从文件、标准输入或其它外部输入设备中加载到内存。输出流是将数据保存到文件中,或传输给输出设备。

         抽象类java.io.InputStream的成员方法

         ①public abstract int read() throws IOException(从输入流读入一个字节,如果到达输入流的末尾,则返回-1);

         ②public void close() throws IOException

        其子类为java.io.FileInputStream

        构造方法:

         ①public FileInputStream(String name) throws FileNotFoundException(name指定文件名)

        成员方法:继承父类的成员方法。

        抽象类java.io.OutputStream的成员方法

         ①public void write(byte[] b) throws IOException(将字节数组b的各个字节写入到当前文件中)

         ②public void write(int b) throws IOException(将由参数b低8位组成的一个字节写入到当前文件中)

         ③public void flush() throws IOException(强制立即输入数据到文件)

         ④public void close() throws IOException

        其子类为java.io.FileOutputStream

        构造方法:

         ①public FileOutputStream(String name) throws FileNotFoundException(name 指定文件名)

         ②public FileOutputStream(String name,boolean append) throws FileNotFoundException(append 指定写入的方式)

        成员方法:继承父类的成员方法

        PrintStream是非常重要的输出类,类java.io.PrintStream具有非常良好的特性:

        (1)它包含可以用来直接输出多种数据类型的成员方法;

        (2)它的大部分成员方法不抛出异常;

        (3)可以选择是否采用自动强制输出(flush)特性。

        构造方法:

         ①:public  PrintStream(OutputStream out)

         ②:public PrintStream(OutputStream out,boolean autoFlush)(true时采用自动强制输出特性)

         ③:public PrintStream(String fileName) throws FileNotFoundException

        成员方法:

         ①:public void write(int b)

         ②:public PrintStream append(char c)

         ③:public void print[in](boolean b)

                 public void print[ln](char c)

                 public void print[ln](char[] s)

                 public void print[ln)(String s)

                 public void print[ln](int i)

                 public void print[ln](long l)

                 public void print[ln](float f)

                 public void print[ln](double d)

                 public void print[ln](object obj)

          ④:public PrintStream format(String format,Object...obj)

                  public PrintStream printf(String format,Object...obj)

          ⑤:public void close()

                  public void flush()

         java.io.DataInputStream与java.io.DataOutputStream 数据的输入流和输出流主要用来读取和存储基本数据类型的数据

         构造方法:

          public DataInputStream(InputStream in)(in 通常是FileInputStream类的实例对象)

          public DataOutputStream(OutputStream out)(out通常是FileOutputStream类的实例对象)

         DataOutputStream的成员方法:

          ①public void write(byte[] b) throws IOException

              public void write(int b) throws IOException

              public void close() throws IOException

              public void flush() throws IOException

          ②public final void writeBoolean(boolean v)

              public final void writeChar(int v) throws IOException

              public final void writeByte(int v) throws IOException

              public final void writeInt(int v) throws IOException

              public final void writeShort(int v) throws IOException

              public final void writeLong(long v) throws IOException

              public final void writeFloat(float v) throws IOException

              public final void writeDouble(double v) throws IOException

         DataInputStream的成员方法:

          ①public int read() throws IOException

              public void close() throws IOException

          ②public final boolean readBoolean()

              public final char readChar() throws IOException

              public final byte readByte() throws IOException

              public final int readInt() throws IOException

              public final short readShort() throws IOException

              public final long readLong() throws IOException

              public final float readFloat() throws IOException

              public final double readDouble() throws IOException

         java.io.BufferedInputStream与java.io.BufferedOutputStream带缓存的输入流和输出流

          构造方法:

           ①:public BufferedInputStream(InputStream in)(in 通常是FileInputStream 类型的实例对象)

                   public BufferedInputStream(InputStream in,int size)

           ②:public BufferedOutputStream(OutputStream out)(out 通常是FileOutputStream 类型的实例对象)

                   public BufferedOutputStream(OutputStream out,int size)

          成员方法:继承抽象父类

         java.lang.System(标准输入和输出流的重定向)含有三个静态成员域in,out,err分别表示标准输入流,标准输出流和标准错误输出流


 

  


       



          


       






       








1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 宝宝打嗝呕吐胃难受怎么办 3岁宝宝发烧还吐怎么办 孩子喝水都吐怎么办啊 宝宝吃多了呕吐怎么办 3岁宝宝吐怎么办才好 儿童受凉肚子疼发热呕吐怎么办 两岁宝宝半夜呕吐怎么办 两岁宝宝吐了怎么办 2岁宝宝发烧吐怎么办 2岁多宝宝呕吐是怎么办 2周岁宝宝中暑了怎么办 2岁半宝宝着凉呕吐怎么办 3岁宝宝吐了几次怎么办 一岁宝宝恶心吐怎么办 9个月宝宝一直吐怎么办 晚上冻着了呕吐怎么办 2岁宝宝一直吐怎么办 两岁宝宝门牙龋齿怎么办 两岁宝宝得龋齿怎么办 两岁宝宝长龋齿怎么办 宝宝2岁不吃饭怎么办 两岁宝宝总是吐怎么办 3岁儿童受凉呕吐怎么办 两岁宝宝四天没拉大便怎么办 两岁宝宝发烧吐怎么办 四岁宝宝吐了怎么办啊 3岁宝宝突然吐了怎么办 宝宝撑着了吐拉怎么办 2岁宝宝体温37.5怎么办 宝宝2岁乳牙烂了怎么办 孕40周还没入盆怎么办 孕妇脸上长斑了怎么办 七个月宝宝大便干怎么办 两月大婴儿不拉大便怎么办 周岁宝宝大便出血了怎么办 十一个月宝宝大便干燥怎么办 8个月宝宝大便干燥怎么办 7个月宝宝大便干燥怎么办 11个月宝宝大便干燥怎么办 9个月宝宝大便干燥怎么办 10个月宝宝大便干燥怎么办