零基础Java:第十四讲(包装类(Wrapper)、关键字static)

335 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

包装类(Wrapper)

  • 包装类(Wrapper)

    • 针对八种基本定义相应的引用类型——包装类(封装类)
    • 有了类的特点,就可以调用类中的方法
    • 基本数据类型包装成包装类的实例——装箱

      • 通过包装类的构造器实现:int i=500;Integer t=new Integer(i);
      • 还可以通过字符串参数构造包装类对象:Float f=new Float("4.56");long l=new Long("asdf");//NumberFormatException
    • 获得包装类对象中包装的基本类型变量——拆箱

      • 调用包装类的.xxxValue()方法:
    • 注:JDK1.5之后支持自动装箱,自动拆箱。但类型必须匹配
    • 字符串转换成基本数据类型

      • 通过包装类的构造器实现

        • int i=new Integer("12");
      • 通过包装类的parseXxx(String s)静态方法

        • Float f=Float.parseFloat("12.1");
    • 基本数据类型转换成字符串

      • 调用字符串重载的valueOf()方法

        • String fstr=String.valueOf(2.34f);
      • 更直接的方式

        • String intStr=5+"";
    • 包装类的应用

      • 基本数据类的包装类:基本数据类型与字符串直接的相互转化
    • toString方法

      • 注:打印m对象相当于执行打印m.toString(),对其他对象如此

关键字static

  • 关键字static

    • 简介:当我们编写一个类时,其实就是在描述其独享的属性和行为,而并没有产生实质上的对象。只有通过new关键字才会产生出对象,这时系统才会分配分配内存空间给对象,其方法才可以供外部调用。我们有时候希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有中国人都有国家的名称,每一个中国人都共享这个国家名称,不必在每一个中国人实例对象中都单独分配一个用于代表国家名称的变量。
    • 使用(定义&引用)
    • 类属性、类方法的设计思想

      • 属性不因对象的不同而改变,将这些属性设置为类属性;同理的方法设置为类方法。

        • 类方法(静态方法):通常使用作为工具类

          • 第一步设置Utils类,里面设计判断字符串是否为空的方法
          • 第二步,在Test类的main方法中直接使用类名调用(不必每次都重写方法)
    • 使用范围

      • 在Java类中,可用static修饰属性、方法、代码块、内部类
    • 被修饰后成员具备以下特点

      • 随着类的加载而加载:类加载后,静态方法或者变量就能使用了,类名 .
      • 优先于对象存在:不用new就能使用
      • 修饰的成员,被所有对象所共享
      • 访问权限(public等)允许时,可不创建对象,直接被类调用
    • 类方法(class Method)

      • 没有对象的实例,可以使用类名. 方法名()的形式访问由static标记的类方法
      • 在static方法内部只能访问类的static属性,不能访问类的非static属性
      • 因为不需要实例对象就可以访问static方法,因此static方法内部不能有this、super(this和super指的是对象)。
      • 重载的方法需要同时为static的或者非static的