自学java--6
java.util:包含一些实用工具类和数类。
针对String的“+”,“+=”是java中唯一被重载的操作符,在java中不允许重载其他操作符。
String(引用类型)类对象是一个常量对象,它的值是不可改变的。只能改变他的引用值,但对象本身不变。
StringBuffer类的append方法可以改变该对象的值,并可以用toString()方法转变为一个String类型(打印时可以默认调用)。
如何不用第三变量来实现两个int类型的数据互换:x=x+y ;y=x-y;x=x-y;即可实现。
函数的调用:java中都是值传递方式,即基本类型传递的是数据的拷贝(本地副本),而引用类型传递的是引用的拷贝。
toString()方法是Object类的方法,常常被我们重写。
Class类:
public class Classmode { public static void main(String[] args) { /* //利用对象调用getClass()方法获取该对象实例 point pt=new point(); Class c1=pt.getClass(); System.out.println(c1.getName()); //利用Class类的静态方法forName(),用类名获取一个Class实例 Class c2; try { c2 = Class.forName("point"); System.out.println(c2.getName()); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } //运用。class的方式获得一个Class实例, Class c3=point.class; System.out.println(c3.getName()); //对于基本数据类型的封装类可以用。TYPE来获取相对应的基本数据类型的Class实例 Class c4=Integer.TYPE; System.out.println(c4.getName()); Class c5=Integer.class; System.out.println(c5.getName()); */ //JVM会根据。class查看类是否被加载,一点加载就会形成对象 /* System.out.println("before"); new point(); System.out.println("after"); try { Class.forName("line"); } catch(Exception ex) { ex.printStackTrace(); } */ try { Class c=Class.forName(args[0]); try { //newInstance()方法只能调用缺损的构造函数,所以一点要注意。 point pointclass=(point) c.newInstance(); pointclass.output(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } class point { int x,y; public void output() { System.out.println("这是根据情况自己创建想要的实例对象"); } static { System.out.println("loading point"); } } class line { static { System.out.println("loading line"); } }
newInstance()方法只能调用缺损的构造函数,所以一点要注意,可以利用反射调用它的自定义构造函数来实现生成想要的对象。
基本数据类型与它的封装类:
public class basenumtype { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int s=3; Integer In=new Integer(s); int in=In.intValue(); String str=In.toString(); String str1="123"; Integer In2=Integer.valueOf(str1); System.out.println(In2); String str2=Integer.toString(in); System.out.println(str2); //其他的都相同都相同,封装类是只读的。 } }