包装类

  针对八种基本数据类型定义的引用类型。

  有类的特点,可以调用类中的方法。

基本数据类型 包装类
boolean Boolean
byte Byte
short Short
int Integer
long Long
char Character
float Float
double Double

基本数据类型包装成包装类的实例------装箱(类型要匹配)

  通过包装类的构造方法实现:Integer t = new Integer(i);

  通过字符串参数构造包装类对象:Float f = new Float("4.56");

获得包装类对象中包装的基本类型变量-----拆箱(类型要匹配)

  调用包装类的.xxxValue()方法:boolean b = bObj.booleanValue();

JDK1.5之后,支持自动装箱,自动拆箱。但类型必须匹配。如果类型不匹配编译不报错,但是运行会报错。

  自动装箱:Integer A = 112;//直接赋值就是自动装箱

  自动拆箱:int B = A;//将变量A的值赋值给基本数据类型B就是自动拆箱

字符串转换成基本数据类型

  通过包装类的构造方法实现: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

  父类Object的toString方法就是输出当前对象的内存地址,如果要想输出类的其他信息,就需要重写toString方法。

  因为toString方法就是输出当前对象的内存地址,所以在输出任何值时就相当于执行了当前对象的toString方法。

  在重写了toString方法之后,就可以按照自己想要的方式输出对象当中的值。

关键字static

  未经static修饰的变量为实例变量,需要经过实例化为对象之后才能够被使用的对象,属于类的每一个对象,不能被同一个类的不同对象所共享(就是说不同的对象要是用这个对象都需要单独写出来),属于实例化对象的一部分。

  经过static修饰的变量为类变量,不需要经过实例化为对象就能使用,属于类的一部分,可以被类的每一个对象共享。

 所以,如果想让一个类的所有实例对象共享相同的数据,就使用类变量,也叫静态变量。

类的属性、方法的设计思想

  类属性作为该类各个对象之间共享的变量。在设计类时,分析哪些类属性不因对象的不同而改变,将这些属性设置为类属性。相应的方法设置为类方法。

  如果方法与调用者无关,则这样的方法通常被声明为类方法,由于不需要创建对象就可以调用类方法,从而简化了方法的调用。

使用范围:可用static修饰属性、方法、代码块、内部类。

被修饰后的成员具备以下特点:

  随着类的加载而加载;

  优先于对象存在,不用new就能用;

  修饰的成员被所有对象所共享;

  访问权限允许时,可不创建对象,直接被类调用;

类变量,这种可以被所有的实例化对象共享的属性使用起来要慎重,因为只要一改,所有的类都能得到变化。

因为不需要实例就可以访问static方法,因此static方法内部不能有this,也不能使用super。

重载的方法需要同时为static的或者非static的。

包装类和toString和static关键字的更多相关文章

  1. 关于Java中的static关键字

    Java中的 static 关键字,确实是一个关键的字(key word),今天就来总结一下它的用法,说说为什么关键. Java中的 static 关键字主要是用来做内存管理的.理解了这句话才能够比较 ...

  2. Java:final、static关键字 详解+两者结合使用

    一  final关键字 1) 关于final的重要知识点 final关键字可以用于成员变量.本地变量.方法以及类. final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误. ...

  3. 深入理解final和static关键字

    深入理解final和static关键字 参考:http://blog.csdn.net/qq1028951741/article/details/53418852 final关键字 final关键字可 ...

  4. 【转载】java static 关键字的四种用法

    原文链接点这里,感谢博主分享 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构 ...

  5. [java]static关键字的四种用法

    在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们先来了解一下stat ...

  6. 高级类特性----static关键字

    static 关键字 当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用. 我们 ...

  7. java中static关键字的使用

    知识点:java中,static关键字修饰类的变量.方法.代码块.内部类 场景:我们在创建类的方法和变量时,如果这个类在创建多个对象时,共用同一个属性或者方法,就可以使用static关键字修饰,因为s ...

  8. final关键字,static关键字

    Final final的意思为最终,不可变.final是个修饰符,它可以用来修饰类,类的成员,以及局部变量.不能修饰构造方法. 注意: 被final修饰的类不能被继承但可以继承别的类 class Yy ...

  9. 面向对象编程(二)封装--构造方法,this关键字,static关键字,方法重载

    面向对象三大特点:封装.继承.多态 封装概念 ①   将东西包装在一起,然后以新的完整形式呈现出来: 将方法和字段一起包装到一个单元中,单元以类的形式实现; ②   信息隐藏,隐藏对象的实现细节,不让 ...

随机推荐

  1. Bugku-CTF之前女友(SKCTF)

    Day35    前女友(SKCTF) http://123.206.31.85:49162/ flag格式:SKCTF{xxxxxxxxxxxxxxxxxx}  

  2. bit Buffer

    在音频流解析过程中,常常会涉及到顺序读取某些bit的操作. #include<stdio.h> typedef struct _BIT_BUF { unsigned char buffer ...

  3. JS中constructor属性

    constructor属性用于对当前对象的构造函数的引用.可以用来判断对象的类型: <script> var newStr = new String("One world One ...

  4. 继承QWidget后无法使用QSS

    使用继承QWidget后的类对象时,如果设置styleSheet看不到效果, 需要重写 void paintEvent(QPaintEvent *event); 方法, 在重写的方法中加入如下代码即可 ...

  5. Selenium元素定位之页面检测技巧

    我们在进行web自动化测试的时候进行XPath或者CSS定位,需要检测页面元素定位是否正确,如果用脚本去检测,那么效率是极低的. 一般网上推选装额外的插件来实现页面元素定位检测 如:firebug. ...

  6. Django+Celery+redis kombu.exceptions.EncodeError:Object of type is not JSON serializable报错

    在本文中例子中遇到问题的各种开发版本如下: Python3.6.8 Django==2.2 celery==4.4.0 kombu==4.6.7 redis==3.3.0 大概的报错如下截图: 是在开 ...

  7. Reverse-Encrypted-Shell-via-Openssl

    目录 0x01 简介 0x02 使用openssl反弹加密shell 0x01 简介 使用常规NC或者其他常规的方法反弹shell,由于流量都是明文的,很容易被网络防御设备检测到,因此需要对传输内容进 ...

  8. 自定义xmlhttprequest

    /** * xhr_proxy.js * 通过劫持原生XMLHttpRequest实现对页面ajax请求的监听 * @author binaryfire */ const READY_STATE_CH ...

  9. MAC平台基于Python的Appium环境搭建

    前言 最近笔者要为python+appium课程做准备,mac在2019年重新安装了一次系统,这次重新在mac下搭建appium环境,刚好顺带写个文稿给大家分享分享搭建过程. 一.环境和所需软件概述 ...

  10. Servlet_001 我的第一个servlet程序

    今天开启servlet学习 一.第一个Servlet程序 首先写我们的第一个servlet程序 第一步:新建我们的servlet程序(Web Project),命名为Servlet_001 第二步 : ...