黑马程序员:基础加强

原创 2012年03月26日 17:30:59

---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------

 

 

静态导入:
 import语句可以导入一个类或某个包中的所有类。
  
 import staitc 语句是导入一个类中的某个静态方法或所有静态方法

可变参数:
 问题:一个方法接受的参数个数不固定。
 例如:System.out.println(add(2,3,5));
    System.out.println(add(1,2,3,4,5));
 
 可变参数的特点:
  只能出现在参数列表的最后。;

  ...位于变量类型和变量名之间,前后有无空格都可以。

  调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,
  在方法体中一数组的形式访问可变参数。


可变参数的:
 举例:
  public static int add(int x ,int...args){
   int sum =x;
   for(int arg : args){
    sum += age;
   }
   return sum;
  }


增强for循环:
 语法:
  for(type变量名 : 集合变量名){....}
  
 注意事项:
  迭代变量必须在()中定义。
  集合变量可以是数组或实现了Iterable接口的集合类。


基本数据类型的自动拆箱于装箱:
 自动装箱:
  Integer num1 = 12;

 自动拆箱:
  System.out.println(num1+12);

 基本数据类型的对象缓冲;
  Integer num1 = 12;
  Integer num2 = 12;
  System.out.println(num1 == num2);

  Integer num3 = 129;
  Integer num4 = 129;
  System.out.println(num3 == num4);

  Integer num5 = Integer.valueOf(12);
  Integer num6 = Integer.valueOf(12);
  System.out.println(num5 == num6);

 自动装箱与拆箱所定义的数字为一个字节之内,
 也就是-128到127之间为同一个类,为了节省内存空间。
 称之为 享元设计模式。(flyweight)

享元设计模式:
 如果很多很小的对象,他们有很多相同的东西,
 那就可以把它们编成一个对象,还有些不同的东西把他编成外部的属性作为方法的参数传入。
 相同的称谓内部状态,不相同的称谓外部状态。

  
枚举:
 为什么要有枚举:
  问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别表示星期一道星期天,
  但有人可能会写int Weekday = 0;

  枚举就是要让某个类型的变量的取值只能为若干个固定值中的某一个,否则,编译器
  机会报错,枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的
  方式在开发阶段无法实现这一目标。

 用普通类如何实现枚举功能,定义一个Weekday的类型来模拟枚举功能:
  私有的构造方法。
  每个元素分别用一个公有的静态成员变量表示。
  可以有若干个公有方法或抽象方法,例如:要提供nextDay方法必须是抽象的。
  采用抽象方法定义,就将大量的if  else 语句转移成了一个个独立的类。

 枚举的基本应用:
  例举:定义一个Weekday的枚举。
  扩展:枚举类的Values, ValusOf,toString ,ordinal等方法。
  总结:枚举是一种特殊的类,其中每个元素都是该类的一个实例对象,
  例如可以调用WeekDay.SUN.getClass().getName和WeekDay.class.getName()。

 枚举就相当于一个类,其中也可以定义构造方法,成员变量,普通方法和抽象方法。
 
 枚举元素必须位于枚举体中的最开始部分,枚举元素列表的后要有分号于其他成员分隔
 如果,把枚举中的成员方法或变量等放在枚举元素的前面,编译器会报错。

 带构造方法的枚举:
  构造方法必须定义成私有。
  如果有多个构造方法,该如何选择哪个构造方法?
  枚举元素不带小括号和带空的小括号效果一样,都是调用默认的构造方法。
 
 带方法的枚举:
  枚举里可以有普通的的方法和抽象的方法,每一个元素都是该枚举的子类,
  那么实现抽象方法是就需要在枚举内,也就是没个元素必须实现枚举内的抽象法。
  也就是内部类来实现抽象方法。

 枚举只有一个成员时,就可以作为一种单例的是实现方法。

 

 

---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------------------

[黑马程序员] Java基础加强(5-7天)2010年Java高新技术_张孝祥

---------------------- ASP.Net+Android+IO开发、.Net培训、期待与您交流! ---------------------- 第1单元:概述 ...
  • shang1jk
  • shang1jk
  • 2013年05月08日 09:57
  • 2830

黑马程序员——Java基础测试题

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 黑马程序员——Java基础测试题 第1题:以下代码哪个是正确的?为什么?   a. byte...
  • liu007004
  • liu007004
  • 2015年01月16日 12:49
  • 1358

黑马程序员释放了洪荒之力!iOS课程全套视频大公开!

从年初开始,整个互联网行业中就一直存在着两种声音--“互联网寒冬”及“iOS初级开发者的暴增”,而黑马程序员似乎并未受到其太大影响,依旧保持着一直以来所具备的优秀传统,努力研发全新的课程。一方面紧跟苹...
  • itcast_cn
  • itcast_cn
  • 2016年09月01日 11:09
  • 2250

01_黑马程序员_张孝祥_Java基础加强_课程价值与目标介绍.zip

  • 2013年09月03日 15:16
  • 8.92MB
  • 下载

黑马程序员_iOS基础视频_最适合初学者入门

  • 2018年01月02日 13:11
  • 56B
  • 下载

java基础知识点,黑马程序员入学前需掌握的知识点

  • 2014年11月09日 10:05
  • 16KB
  • 下载

黑马程序员java基础试题、笔记

  • 2015年01月29日 11:23
  • 3.57MB
  • 下载

黑马程序员安卓基础笔记

  • 2015年03月31日 21:12
  • 32.54MB
  • 下载

黑马程序员 - Java基础教学 - 05 - 面向对象(1).doc

  • 2013年04月19日 23:47
  • 311KB
  • 下载

黑马程序员_Java基础辅导班教程课件[第01期]第9天

  • 2014年01月09日 16:13
  • 34.79MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员:基础加强
举报原因:
原因补充:

(最多只允许输入30个字)