黑马程序员----java基础增强上

本文深入探讨了使用MyEclipse进行Java开发的高级技巧,包括配置、导入工程、使用新特性和理解枚举类型。重点介绍了如何在MyEclipse中设置编译器、服务器和基础配置,导入工程文件,以及利用Java 1.5的静态导入、可变长度参数、增强for循环、自动拆箱和装箱等功能。此外,文章还详细解释了枚举类的使用方法,如获得对象的name、ordinal和valueOf方法,以及如何定义构造函数和实现抽象方法。最后,介绍了Java的反射机制,包括Class类的基本使用、判断基本类型和包装类型的方法,以及如何通过field、Method和Constructor类进行反射操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ASP.Net+Android+IO开发S.Net培训、期待与您交流!

Java基础提高篇笔记
(一)使用集成开发环境:ide---itegrity developement environment 集成开发环境
  1、MyEclipse的基础设置
  1>、在MyEclipse中可以通过单击wendow->preference打开Myeclipse的基础设置选项,其中在java选项下面可以设置编译器(Compiler : 即jvm的路径)并且可以设置安装的Jre路径;
  2>、当我们开发web程序时,我们可以通过设置Myeclipse中的服务器(server)选项,将我们外部的tomcat设置为服务器;
  3>、我们可以在General中设置一些基础配置,如文字的大小、字体编码方式等
   (在搜索框中输入Text或者单击General节点下的Appearance选择Colors and Front选项,在basic中选择Text Font)
  4>、创建快捷键的设置,在Myeclipse中可以通过windows-->Preferences-->General-->keys来设置快捷键,如内容提示的设置Content Assist,将原来的设置删除,
  在下方的Binding中按下ALt键+/键
 
  2、在建工程,类,定义变量时,一定要用相应的单词来定义,这样提高程序的可读性;包名的定义要以所在的公司名为名
  3、在工作目录下设置java的编译器和运行环境,可以将工作目录的配置,同时我们也可以设置java的工程的编译器和运行环境,
        这是在工程上右键-->perferences以后操作和设置目录的编译器运行器相同
  4、Myeclipse如何配置模板
        在首选项中选择java-->edit-->template  $(line_selected)//将当前内容写到这里
        while (${en:var(java.util.Enumeration)}.hasMoreElements()) {
       ${type:argType(en)} ${elem:newName(type)} = (${type}) ${en}.nextElement();//循环体的执行,执行赋值功能
       ${cursor}//设置光标的位置
             }  
  5、import工程,在myeclipse中导入已经写好的的工程文件,在Package Explorer中右键import,general中选择已存在工作空间的工程即可选则工程的目录,导入成功以后,应该查看
     工程的java编译环境是否与本机的jdk是同一个版本,不同是应该配置java的编译器(注:java低版本编译的class文件,java高版本可以执行,而更低的版本不能执行此class文件)
 (二)jdk1.5的新特性
   1、用import导入静态方法
       在java中如果一个类的某一个方法为静态方法,则可以通过import static java.lang.Math.*即可将java.lang包下的Math类下的所有静态方法导入,在访问这些静态方法时我们就可以
    省略类名如以下例子package com.itheima.test;//判断一个整数是否为质数
       public class Prime {
        public static boolean isPrime(int a)
        {
         boolean flag = false;
         if(a == 2)
          flag = true;
         else if(a>2)
         {
          int i = 0;
          for( i =2; i<=(int)Math.sqrt(a);i++)
          {
           if(a%i == 0)
           {
            flag = false;
            break;
           }
          }
          if(i>(int)Math.sqrt(a))
          {
           flag = true;
          }
         }
         return flag;
        }
       }
       package com.itheima.ce;
       import static  com.itheima.test.Prime.isPrime;
       public class Test {
        public static void main(String[] args) {
         // TODO Auto-generated method stub
         int i = 10;
         System.out.println(isPrime(i));//调用Prime类中的静态方法isPrime(),jdk1.5以后才支持静态导入功能
        }
       }
   2、jdk1.5的第二个新特性:可变长度的参数,在java1.5以后支持可变长度的形参(注:可变形参为相同类型的对象)
    如 public int[] executeBatch(String sql,Object[]...params)throws SQLException。这样我们可以实现方法的重载
   3、jdk1.5的第三个新特性:增强的for循环功能,其语法为 for(type tem:tems);
       注:迭代变量必须在()中定义,类型为type对应类型;集合变量可以是数组,或者是Iterable集合类的对象
          File files[] = new File(path).listFiles();
          for(File fl : files)//增强的for循环功能
           {
        System.out.println(fl.getName());//将目录下的文件名打印出来
            }
   4、jdk1.5的第三个新特性为:自动拆箱和自动装箱主要是针对java中基本数据类型(这是一个享缘设计模式)
        自动装箱:就是将一个整形的值自动封装为Integer对象 Integer i1 = 12(注:当一个整数在-128~127之间时,一旦创建类对象,这个对象将保存在缓冲区中,当再次使用时,不在创建新对象);
    对于一个字符串“abc”可以自动封装为String类型的对象   
        自动拆箱:将基本类型的对象自动拆箱,Integer对象自动拆箱为int类型;
  例如  Integer i1 = 12;Integer i2= 12; 则i1=i2;但是Integer i3= 132; Integer i4= 132; 此时 i3与i4不是同一个对象
   5、java的枚举和C++中的定义格式差不多,它提供了一些方法:
       对于枚举类有获得它的对象的name,对象的在列表中的序列的ordinal方法,枚举类型的valueOf方法返回带指定名称的指定枚举类型的枚举常量
       类的values方法可以获得该枚举类型的值的数组
    对于枚举类型还可以定义构造函数,但是枚举类中的所有成员都是该枚举类型的对象,可以用构造函数创建该枚举类型中的成员:
       public enum  WeekDay
    {
        SUN(1),MON()
     public WeekDay(){System.out.println("Frist");}
     public WeekDay(int day){System.out.println("Second");}//创建带参数的构造函数
    }
    枚举类型同样可以有抽象函数,但是在每个‘成员’创建时应该将该抽象方法实现
      public enum WeekDay
   {
       SUN{
       public WeekDay nextWDay()
    {
        return MON;
    }
    }
    SUN{
       public WeekDay nextWDay()
    {
        return SUN;
    }
    }
    public abstract WeekDay nextWDay();
   }
   6、java的反射机制:
       (1)、Class是java中一种用于描述java中类的信息的类,注意在java中class为java中定义类的关键词,而Class是java中获得类的信息的一个类,
      如类名,包名等等
             Class的对象指向内存中类的字节码,
             Class clazz1 = Date.class;(或则clazz = date1.getclass(),or Class.forName("java.util.Date")),isPrimitive()判断一个字节码是否为基本类型的字节码 
             判断一个基本类型是否为某个包装类型可以用包装类型的TYPE属性判别,例 double.class =Double.TYPE;在java.lang.reflect包下的field,Method,Constructor类共同完成反射的操作

ASP.Net+Android+IO开发S.Net培训、期待与您交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值