自学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);
       //其他的都相同都相同,封装类是只读的。
    }

}
原文地址:https://www.cnblogs.com/lovelifeloveme/p/3181037.html