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, 直接调用就可以操作

  • 相关阅读:
    Roce ofed 环境搭建与测试
    Ubuntu 1804 搭建NFS服务器
    Redhat 8.0.0 安装与网络配置
    Centos 8.1 安装与网络配置
    SUSE 15.1 系统安装
    VSpare ESXi 7.0 基本使用(模板、iso、SRIOV)
    VSpare ESXi 7.0 服务器安装
    open SUSE leap 15.1 安装图解
    KVM虚拟机网卡连接网桥
    GitHub Action一键部署配置,值得拥有
  • 原文地址:https://www.cnblogs.com/moveofgod/p/3009558.html
Copyright © 2011-2022 走看看