5.包装类Wrapper / 基本数据类型和String的转换 / static关键字

包装类Wrapper

在这里插入图片描述

包装类 基本数据类型 和 String的转换

包装类 基本数据类型 和 String的转换
直接看demo

package com.jinyang.wrapper;

import org.junit.Test;

public class WrapperTest {

    //基本数据类型==》包装类
    @Test
    public void test1(){
        //Integer num = new Integer(109);   //Deprecated
        Integer num1 = 10; //自动装箱
        System.out.println(num1.toString());

        Integer num2 = Integer.parseInt("12123");
        System.out.println(num2.toString());

        Float f1 = 12.3f;
        System.out.println(f1.getClass());
        System.out.println(f1.intValue());

        Float f2 = Float.parseFloat("12.333");
        System.out.println(f2.toString());
    }

    //包装类==》基本数据类型
    @Test
    public void test2(){
        Integer num1 = 100;
        int num2 = num1.intValue();
        System.out.println(num2);
    }

    //自动装箱和拆箱  JDK5.0的新特性
    @Test
    public void test3(){
        int num1 = 100; //自动装箱
        output(num1);  //编译运行成功,自动装箱和拆箱的应用,尽管output的形参是类
    }
    public void output(Object obj)
    {
        System.out.println(obj);
    }

    //基本数据类型,包装类==》String
    //利用String中的方法valueof(Xxx xxx)
    @Test
    public void test4(){
        Integer num2 = 123;
        String str = String.valueOf(num2);
        System.out.println(str);

        float num3 = 123.222f;
        String str1 = String.valueOf(num3);
        System.out.println(str1);
    }
    
    //String==》基本数据类型,包装类
    //利用包装类中的方法parsexxx(Xxx xxx)
    @Test
    public void test5(){
        String name = "1232";
        int num1 = Integer.parseInt(name);
        System.out.println(num1+2);
    }
}

static关键字

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

静态变量:当创建了类的多个对象,多个对象共享同一个静态变量,当通过某一个对象修改静态变量时,会导致其他对象调用此静态变量时,是修改过了的。
被static修饰的成员随着类的加载而加载(先加载类而后才可以创建该类的对象,因此类的加载一定是早于该类的对象的),修饰的成员被所有对象共享;当访问权限允许时,可不创建对象,直接被类调用。
静态变量在内存中只存在一份,存在于方法区(存放类的加载信息,静态域,常量池)的静态域中。

静态方法:静态方法中,只能调用静态的方法或属性,不能在静态方法中使用非静态属性或方法。
: 静态方法内,不能使用this、super关键字。

什么样的情况适合对属性或方法进行static修饰?
开发中,如何确定一个属性是否要声明为static?
属性可以被多个对象共享,不会随着对象的不同而不同。
final修饰常量,final修饰的常量一般也被修饰为static
开发中,如何确定一个方法是否要声明为static?
操作静态属性的方法,一般都设置为静态的,目的是为了保证两者的生命周期一致。
工具类中的方法一般设置为static,比如Math,Arrays等等

该博客图片来源于尚硅谷宋老师教学课件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值