数据类型的相互转换:

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修饰的类不能被继承