黑马程序员——简单新特性

来源:互联网 发布:美工师 编辑:程序博客网 时间:2024/04/28 22:21

---------------------- android培训、java培训、期待与您交流! ----------------------

 

在定义主类的时候通常在class前面加上了public,当加了public时,文件名和类名要相同,如果省略public,文件名就可以和类名不同了! 
门面设计模式(引用对象)。
内部类:一个类声明在另一个类的内部。内部类编译完生成class文件带"$"
好处:可以直接访问包装类(指外部类)的成员变量或成员方法。
 可以把内部类设成私有的,只供自己使用。

何时使用:该类不允许或不需要其它类进行访问时。

System.exit(0);//0是正常退出,-1是非正常退出,结果一样。

匿名类写在方法里,也叫方法内的类,new 接口也可以,但本质上不是new接口,只是相当于是接口对象来使用。

何时使用:1、不是经常变动。2、语句比较少。


 例1:静态方法调用,类名.方法名()。
 System.out.println(Math.max(3,6));//3-6之间最大的数。
 System.out.println(Math.abs(3-6));//3减6的绝对值。

 例2:静态导入
 //import static java.lang.Math.max;
 import static java.lang.Math.*;
 
 System.out.println(max(3,6));//3-6之间最大的数。
 System.out.println(abs(3-6));//3减6的绝对值。
 
 可变参数
 可变参数可以解决一个方法接受的参数个数不固定。
 特点:只能出现在参数列表的最后;
       ...位于变量类型和变量名之间,前后有无空格都可以;
       调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。
 overload(重载) vs override(重写)
 例:
 public static void main(String[] args){
  System.out.println(add(2,3));
  System.out.println(add(2,3,4,5));
 }
 //可变参数方法
 public static int add(int x,int ... arrs){  //x=2; arrs[0]=3; 
  int sum=x;
  for(int i=0;i<arrs.length;i++){
   sum+=arrs[i]
  }
  return sum;
 }

 装箱和拆箱
 把基本数据类型转换为引用类型称为装箱。Integer iObject=3;//给对象赋值
 反之则称为拆箱。System.out.println(iObject+12);//引用类型对象与数据类型相加

 享元模式(flyweight)
 例:
 Integer i1=37; //在-128--+127之间范围,会把出现的数据缓存到池里面,以便其它对象调用。
 Integer i2=37; //小的数据使用的频率会很高。

 Integer i3=137;
 Integer i4=137;

 System.out.println(i1==i2);//输出为:true;
 System.out.println(i3==i4);//输出为:false;
 
 享元模式,如果有多个小对象,而它们又有很多相同的地方,那就可以把它们变成一个对象,把不同的东西变成外   部的属性,作为方法的参数传入。

 

---------------------- android培训、java培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net/heima