day15
包装类(wrapper)的使用
1.java提供了8种基本数据类型对应的包装类,使得基本数据类型的变量具有类的特征
2.掌握:基本数据类型、包装类、String三者之间的相互转换
package shangGuiGu.day14;
//基本数据类型----》包装类:调用包装类的构造器
public class demo04 {
public static void main(String[] args) {
int num1=10;
Integer int1=new Integer(num1);
System.out.println(int1.toString());
Integer int2=new Integer("123");
System.out.println(int2.toString());
Float f1=new Float(12.3f);
System.out.println(f1);
Boolean b1=new Boolean(true);
Boolean b2=new Boolean("true");
Boolean b3=new Boolean("true123");
System.out.println(b3);//false
Order order=new Order();
System.out.println(order.ismale);//false
System.out.println(order.isfemale);//null
}
}
class Order{
boolean ismale;
Boolean isfemale;
}
package shangGuiGu.day15;
public class demo01 {
//包装类----》基本数据类型:调用包装类的xxxValue()
public static void main(String[] args) {
demo01 ie=new demo01();
ie.test2();
}
public void test2(){
Integer in1=new Integer(12);
int i1=in1.intValue();
System.out.println(i1+1);
Float f1=new Float(12.3);
float f2=f1.floatValue();
System.out.println(f2+1);
}
}
package shangGuiGu.day15;
import org.junit.Test;
public class demo02 {
//自动装箱
int num2=10;
Integer int1=num2;
boolean b1=true;
Boolean b2=b1;
//自动拆箱
int num3=int1;
}
package shangGuiGu.day15;
public class demo03 {
//基本数据类型、包装类----》String类型:调用String重载的valueOf(Xxx xxx)
public void test4(){
int num1=10;
//方式1:连接运算
String str1=num1+"";
//方式2:调用String的valueOf(xxx)
float f1=12.3f;
String str2=String.valueOf(f1);//"12.3"
Double d1=new Double(12.4);
String str3=String.valueOf(d1);
System.out.println(str2);
System.out.println(str3);//"12.4"
//String---》基本数据类型、包装类:调用包装类的parsexxx(String s)
String str111="123";
int nu2=Integer.parseInt(str111);
System.out.println(nu2+1);
String str222="true";
boolean b1=Boolean.parseBoolean(str222);
System.out.println(b1);
}
}
static关键字的使用
1.静态的
2.可以用来修饰:属性、方法、代码块、内部类
3.使用static修饰属性:静态变量(或类变量)
属性:按是否使用static修饰,又分为:静态属性vs非静态属性(实例变量)
实例变量:我们创建了类的多个对象,每个对象都有独立的拥有一套类中的非静态属性。当修改其中一个对象中的非静态属性时,不会导致其他对象中同样的属性值的修改。
静态变量:我们创建了类的多个对象,多个对象共享同一个静态变量。当通过某一个对象修改静态变量时,会导致其他对象调用此静态变量,是修改过的。
其他说明:1.静态变量随着类的加载而加载,可以通过 类.静态变量 的方式进行调用 2.静态变量的加载早于对象 的创建 3.由于类只会加载一次,则静态变量在内存中也只会存在一份:存在方法区的静态域中。
4.使用static修饰方法:静态方法
1.随着类的加载而加载,可以通过 类.静态方法 的方式进行调用 2.静态方法中,只能调用静态的方法或属性 。非静态方法中,可以调用静态和非静态的方法或属性
注意点:不能使用this和super关键词
package shangGuiGu.day15;
public class demo04 {
public static void main(String[] args) {
Chinese.nation="china";
Chinese c1=new Chinese();
c1.name="yaoming ";
c1.age=40;
Chinese c2=new Chinese();
c2.name="malong";
c2.age=30;
c1.nation="CHN";
System.out.println(c2.nation);
}
}
//中国人
class Chinese{
String name;
int age;
static String nation;
}
属性时可以被多个对象所共享的,不会随对象的不同而不同的。则用static修饰属性。
工具类中的方法,习惯上声明为static的。