数据类型的相互转换:
1、基本数据类型的转换
对于数值类型,小范围可以直接转换为大范围,而大范围转换为小范围则需要强制类型转换(注意:不是所有的强制转换都能实现)
Math.round ()方法可以做四舍五入
字符串转换为数值类型
每种数值类型的包装类都有parseX()方法,比如
intix=Integer.parseInt("123");
floatfx=Float.parseFloat("12.5");
不是所有字符串都可以转换成数字
intix=Integer.parseInt("abc");
会出现Exception in thread "main" java.lang.NumberFormatException: For input string: "abc"
2、类于对象之间的相互转换
父子类,接口和实现类之间的转换
父类可以直接接收子类
接口可以直接接收实现类
Parent p=new Child();
父类和接口假如要转换为子类或实现类,比如强//制转换
Child c=(Child)p
对于instanceof的用法
public class TestMain {
public static voidmain(String[] args) {
List list=newArrayList();
list.add("北京");
list.add("上海");
Student stu=new Student();
stu.setName("lspstu1");
list.add(stu);
Object obj=list.get(2);
Students_obj=(Student)obj;
list.add(newTeacher("afei","java"));
System.out.println(list.get(0));
System.out.println(list.get(1));
System.out.println(s_obj.getName());
System.out.println(list.size());
for(inti=0;i<list.size();i++){
Object s=list.get(i);
if(s instanceofString){
System.out.println("s:"+s);
}else if(s instanceofStudent){
Studentstu1=(Student)s;
System.out.println("s:"+stu1.getName());
}else if(s instanceofTeacher){
Teachertech=(Teacher)s;
System.out.println("s:"+tech.getName()+"我教"+tech.getCourse());
}
}
}
}
Final关键字:
final关键字表示不可变的意思,一般修饰在类,属性和方法上
通常使用public final static 来定义一个常量(定义时必须赋初值,并且以后不可修改)比如 :
publicstatic final int X=100;
常量的名字最好大写。
final修饰的类不能被继承,最常见的final类是java.lang.String类
final修饰的成员变量需要手动初始化,并且不能被重新赋值
final修饰的参数变量不能被重新赋值
final修饰的局部变量可以不初始化,但是只能被赋值一次
final修饰的方法不能被子类重写
final修饰的类不能被继承