zoukankan      html  css  js  c++  java
  • headfirst java ( 第 10 章 )

    - Math为例

      在math这个类中有很多静态方法,而且你不能对Math进行实例化,即 Math mathObject = new Math();

      会提示错误信息是,构造函数为 private,你不能调用构造函数(看到私有构造函数的作用了吧,关于private的构造函数,向后再说?)

    - 静态方法

      通常是使用方法, 则不需要类得实例. static 一种不依靠实例变量也就不需要对象的行为。用类名调用 Math.min(88, 77);

    - 带有静态方法的含义 

      通常这种带有静态方法的类是不打算初始化的,我们可以通过私有的构造函数来限制非抽象类被初始化。 (类似Math类这种,如果定义成抽象类是不合适的,因为抽象类的特点是没有被继承的话就完全没用,但是Math还有很多方法是我们想使用的,而我们又不想创建Math的实例,所以,我们的解决方式是静态方法)。 静态方法是在类得基础上操作的,而非静态方法必须要实例化才能操作。

      静态方法不能调用非静态变量,静态方法无法引用到该类的任何实例变量(实例变量是只有创建对象时才会初始化,而静态方法是在类得模板里的,同样静态方法不能调用非静态方法)

      如果类只有静态方法,你可以将构造函数标记为 private 以免被初始化。

    - 静态变量:它的值对所有实例来说都相同

      静态变量,就是共享变量,静态方法,也是共享方法,这样做是有意义的,比如你想知道有多少这个类的对象被创建了,怎么办,就是放一个共享的静态变量,创建一个,这个变量++,就可以了。

    - 静态变量的作用

      静态变量会在该类得说任何静态方法执行之前就初始化。静态变量是类被加载时初始化的,通常,JAVA虚拟机会加载某个类是因为第一次有人尝试要创建该类的新实例,或是使用该类的静态方法或变量。

    - 静态常数 final

      public static final double PI = 3.1415926;

      常量的名称应该都用大写字母

      类似 PI 这种还是用静态的比较好,如果是实例常量,那岂不是每个实例对象里边都有一个这么个常量,而它又是不变化的。

    - 静态常量 初始化

      1. 声明的时候: public class Foo { public static final int FOO_X = 25; }

      2. 在静态初始化程序中:

         public class Bar {

             public static final double BAR_SIGN;

             static {    // 这段程序会在类加载时执行

                  BAR_SIGN = (double)Math.random();

             }

         }

    - final

      final的变量代表你不能改变它的值

      final的方法代表你不能覆盖掉该方法

      final的类代表你不能继承该类(也就是创建它的子类)

    - 原子类型的包装, int, char, double 等等

      当你想以对象的方式来处理原子类型时,就使用包装

      image

      image

      image

      以上的包装是很重要的,因为在 ArrayList一定要对象的类型。

    - autoboxing

      从 java 5.0 开始加入的 autoboxing 功能 能够自动的将 原子类型转换成包装对象,例如:

      image

      其他使用的 autoboxing 情况:

      image

      image

      image

      image

      image

      包装类型的静态实用方法,例如 Integer.parseInt(s); Double.toString(d);

    - 数字的格式化 

      在java5.0之后通过 java.util的Formatter这个类来提供的。

      1. 将数字以带逗号的形式格式化,String s = String.format(“%, d”, 10000000); // 显示结果是 1,000,000,000 这里的%表示把参数放在这里的意思,

      image

      image

      很明显,%符号后面不可以随便填上任意的字符,格式化的语法

      image

      image

      超过一项以上的参数时

      image

      日期格式化

      image

      image

      image

      image

      操作日期

      java.util.Date 和 java.util.Calendar

      image

      Calendar 有很多 API, 直接调用就可以操作

  • 相关阅读:
    Android特色开发(3):Google Map
    Android特色开发(4):桌面组件
    Android用户界面开发(19):ProgressBar
    每日英语:Fewer Foreigners Eye US Graduate Science Programs
    每日英语:My Adventures With Liquid Chicken
    每日英语:Hard Math: Adding Up Just How Little We Actually Move
    每日英语:Thousands of Thumbs Down for Chinese Red Cross
    每日英语:Rescuers Struggle to Reach Quake Victims
    每日英语:When Simplicity Is The Solution
    【转】Matlab图像处理函数:regionprops
  • 原文地址:https://www.cnblogs.com/moveofgod/p/3009558.html
Copyright © 2011-2022 走看看