包装类和toString和static关键字

爱⌒轻易说出口 提交于 2019-12-29 21:29:43

包装类

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

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

基本数据类型 包装类
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的。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!