包装类和toString和static关键字
2019-12-29 16:05:06来源:博客园 阅读 ()
包装类和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的。
原文链接:https://www.cnblogs.com/fangfangfanga/p/12116466.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Java基础复习——类和对象 2020-06-09
- Java中常用的包、类、接口以及util包下的常用类和方法(附: 2020-05-13
- 【面试题】String类、包装类的不可变性 2020-05-06
- Java中包装类与基本类型运算的性能比较(Integer i += 1) 2020-04-26
- Java基础知识3-类和对象(1) 2020-04-09
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash