包装类和toString和static关键字
包装类
针对八种基本数据类型定义的引用类型。
有类的特点,可以调用类中的方法。
| 基本数据类型 | 包装类 |
| 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关键字的更多相关文章
- 关于Java中的static关键字
Java中的 static 关键字,确实是一个关键的字(key word),今天就来总结一下它的用法,说说为什么关键. Java中的 static 关键字主要是用来做内存管理的.理解了这句话才能够比较 ...
- Java:final、static关键字 详解+两者结合使用
一 final关键字 1) 关于final的重要知识点 final关键字可以用于成员变量.本地变量.方法以及类. final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误. ...
- 深入理解final和static关键字
深入理解final和static关键字 参考:http://blog.csdn.net/qq1028951741/article/details/53418852 final关键字 final关键字可 ...
- 【转载】java static 关键字的四种用法
原文链接点这里,感谢博主分享 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构 ...
- [java]static关键字的四种用法
在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们先来了解一下stat ...
- 高级类特性----static关键字
static 关键字 当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用. 我们 ...
- java中static关键字的使用
知识点:java中,static关键字修饰类的变量.方法.代码块.内部类 场景:我们在创建类的方法和变量时,如果这个类在创建多个对象时,共用同一个属性或者方法,就可以使用static关键字修饰,因为s ...
- final关键字,static关键字
Final final的意思为最终,不可变.final是个修饰符,它可以用来修饰类,类的成员,以及局部变量.不能修饰构造方法. 注意: 被final修饰的类不能被继承但可以继承别的类 class Yy ...
- 面向对象编程(二)封装--构造方法,this关键字,static关键字,方法重载
面向对象三大特点:封装.继承.多态 封装概念 ① 将东西包装在一起,然后以新的完整形式呈现出来: 将方法和字段一起包装到一个单元中,单元以类的形式实现; ② 信息隐藏,隐藏对象的实现细节,不让 ...
随机推荐
- Bugku-CTF之前女友(SKCTF)
Day35 前女友(SKCTF) http://123.206.31.85:49162/ flag格式:SKCTF{xxxxxxxxxxxxxxxxxx}
- bit Buffer
在音频流解析过程中,常常会涉及到顺序读取某些bit的操作. #include<stdio.h> typedef struct _BIT_BUF { unsigned char buffer ...
- JS中constructor属性
constructor属性用于对当前对象的构造函数的引用.可以用来判断对象的类型: <script> var newStr = new String("One world One ...
- 继承QWidget后无法使用QSS
使用继承QWidget后的类对象时,如果设置styleSheet看不到效果, 需要重写 void paintEvent(QPaintEvent *event); 方法, 在重写的方法中加入如下代码即可 ...
- Selenium元素定位之页面检测技巧
我们在进行web自动化测试的时候进行XPath或者CSS定位,需要检测页面元素定位是否正确,如果用脚本去检测,那么效率是极低的. 一般网上推选装额外的插件来实现页面元素定位检测 如:firebug. ...
- 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 大概的报错如下截图: 是在开 ...
- Reverse-Encrypted-Shell-via-Openssl
目录 0x01 简介 0x02 使用openssl反弹加密shell 0x01 简介 使用常规NC或者其他常规的方法反弹shell,由于流量都是明文的,很容易被网络防御设备检测到,因此需要对传输内容进 ...
- 自定义xmlhttprequest
/** * xhr_proxy.js * 通过劫持原生XMLHttpRequest实现对页面ajax请求的监听 * @author binaryfire */ const READY_STATE_CH ...
- MAC平台基于Python的Appium环境搭建
前言 最近笔者要为python+appium课程做准备,mac在2019年重新安装了一次系统,这次重新在mac下搭建appium环境,刚好顺带写个文稿给大家分享分享搭建过程. 一.环境和所需软件概述 ...
- Servlet_001 我的第一个servlet程序
今天开启servlet学习 一.第一个Servlet程序 首先写我们的第一个servlet程序 第一步:新建我们的servlet程序(Web Project),命名为Servlet_001 第二步 : ...