黑马程序员--Java基础加强(1)

原创 2012年03月25日 20:42:17

android培训java培训、期待与您交流! ----------------------
1:一些基本的英语简称:                                                                                            

Java ee  Java Platform,Enterprise Edition

Ide --itegrity development  environment

jms Java Message Service即Java消息服务

 jmx  JavaManagement Extensions,即Java管理扩展

jndi  JavaNaming and Directory Interface,Java命名和目录接口)

2:在elicspe 下怎么调试 :断点 debug

编译版本 的选择  preferences---java –Compiler

模版代码:java-editor-templent


3:import静态方法导入: math


4 For 循环加强

语法: for (type  变量名 :变量名集合)

{….}

注意:迭代变量名必须在()中定义;

集合变量名可以是数组或者实现了Hterable接口的集合类


5:  享元模式  flyweight

有很多很小的对象他们有很多相同的东西,可以把他们编成一个对象,有些不同变成外部的属性作为方法的参数传入,

Integer 类型转换  -128 -127 会自动保存

    Integer s1= 13;

       Integer s2 = 13;

    System.out.println(s1==s2);

 6:枚举

将大量的if else 转化为一个个独立的类

为什么要有枚举:

7:内部类:


8:反射基石-Class

Class.for Name作用 :返回字节码,返回的方式有两种:第一这段字节码曾经被加载过,在java虚拟机里面,直接返回   

第二java虚拟机没有,则用java类加载器直接去加载,把加载的缓存虚拟机里面。


9:获得字节码方法:3种

类名class 例如: System.class

对象getClass() 例如: new Date().getClass()

Class.forName(“类名”)

九个预定义Class实例对象:

数组类型的Class 实例对象:Class.isArry()

总之只要是在原程序出现的类型,都有各自的Class实例对象 如int[]

枚举类  

 

 

10Constructor类

ConStructor 代表某个类中的一个构造方法

得到某个类所有的构造方法 ConStructor[] constructor = Class.forName(“java.lang.String”).getConstructor

获得某一个构造方法

ConStructor[]  constructor= Class.forName(“java.lang.String”).getconstructor(StringBuffere.class)

//获得方法时要用到类型

实现参数的传递:String.class.getConstructor(StringBuffere.class)

.一般.创建实例对象流程:class—constructor—newobject;而

通常方式1 String str = new String (new StringBuffer(“abc”));

反射方式:String str=(String)  new Instrance (new StringBBuffer(“abc”))

//调用获得的方法时要用到上面同类型实例对象

..Class.newInstrance() 方法

String obj=(String)Class.forName(“java.lang.String”).newInstrance

该方法内部先得到默认的构造方法,然后用该构造方法创建实例对象

 

11:Filed  

//字节码的获取应该用==

Filed(21反射)

9成员方法的反射:

得到字节码的方法,在用方法作用于对象

privatestaticvoidchangeStringName(Object obj) throwsException{

       // TODOAuto-generated method stub

       //扫描所有字段

       Field[] fields =obj.getClass().getFields();

       for(Field field: fields){

           //因为这里是字节码,所以用==比较好

           if(field.getType()== String.class){

              String oldValue = (String)field.get(obj);

              String newValue =oldValue.replace('b','a');

              field.set(obj,newValue);

           }

          

       }

///////////////////////////////////////////////

 

publicclassReflectionPoint {

 

    privateintx;

    privateinty;

    publicStringstr1 = "ball";

    publicStringstr2 ="basketball";

    publicStringstr3 ="itcast";

    publicReflectionPoint(int x,int y) {

       super();

       this.x = x;

       this.y = y;

    }

    @Override

     publicString toString(){

       returnstr1+":" +str2+":"+str3;

        

     }

}

 

10 用反射执行某个类中的main方法(23对接收数组参数的成员方法进行反射)

…写一个程序,这个程序能够根据客户提供的类名去执行该类中的main方法

11数组与object的关系极其反射类型

 

如果是一个普通对象

11: Method类

12:数组与object的关系及其反射类型


13 数组的反射:

l具有相同维数和元素类型的数组属于同一个类型,即具有相同的Class实例对象。
l代表数组的Class实例对象的getSuperClass()方法返回的父类为Object类对应的Class
l基本类型的一维数组可以被当作Object类型使用,不能当作Object[]类型使用;非基本类型的一维数组,既可以当做Object类型使用,又可以当做Object[]类型使用。

hashcode 方法作用:两个本该相同的对象被存放在不同区域,为了让相等的对象也会房子啊相同的区域,如果两个对象equal 相等,应该也让他们相等;如果两个对象不要存放在hashcod,就没有必要搞hashcode

反射作用------实现框架的功能

14:用类加载器的方式管理资源和配置方式


 

15 内省  IntroSpector-- javabean

Javabean---特殊的java类

 

Javaben person几个属性

 

12  面向接口编程:ArryList_Hashset的 比较及Hashcode分析

程序不要但是它一直在在暂用内存空间没有停止(内存泄漏)

 

hashcode 作用:两个本来相同的对象被存放在不同区域,相等的两个对象放在同一个区域,如果两个对象equals

相等那么也应该让他们Hashcode相等。如果两个对象不要相等那就不需要用Hashcode。

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

Java基础:基础加强

Java enhance
  • zr523725410
  • zr523725410
  • 2014年09月26日 00:24
  • 2310

黑马程序员-张孝祥Java基础加强(PART1)

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ---------------------- 知识点: 1.Java5的几个新特性,...
  • niniliwei
  • niniliwei
  • 2014年02月28日 15:30
  • 1083

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

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

黑马程序员——Java基础---练习题

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- Java基础---练习题 1.写出程序结果class Demo { public stat...
  • liu007004
  • liu007004
  • 2015年01月19日 16:35
  • 704

黑马程序员_java 基础加强1

一、eclipse的使用技巧
  • u012343764
  • u012343764
  • 2013年12月08日 20:23
  • 487

黑马程序员--Java基础面试题整理

------- android培训、java培训、期待与您交流! Java面试题整理(自己学习过程中整理的重点题目,为面试做准备) 编程基础 1.(面试题): ...
  • wwj101004
  • wwj101004
  • 2014年10月31日 23:09
  • 824

黑马程序员----java基础加强(1)

一,名词: Java EE:Java Platform Enterprise Edition (java平台企业版) IDE:Integrated Development Environment ...
  • u013807931
  • u013807931
  • 2014年06月16日 20:00
  • 263

黑马程序员-------Java基础加强1

---------------------- android培训、java培训、期待与您交流!---------------------- Java增强 eclipse ____最广泛的工具  ...
  • zhai1231
  • zhai1231
  • 2012年03月28日 13:19
  • 126

黑马程序员——JAVA基础加强(1)

Eclipse的使用技巧 eclipse与myeclipse的关系(都属于java开发的工具): 后者是前者的一个插件,后来为了方便使用,myeclipse集合了eclipse,后者是收费的。 可大部...
  • u013437627
  • u013437627
  • 2014年01月16日 00:04
  • 312

黑马程序员_java基础加强_1

------- android培训、java培训、期待与您交流!---------- java基础加强: 1,静态导入(jdk1.5的新特性): import语句可以导入一个类或者某个包中的...
  • sdsccyy
  • sdsccyy
  • 2013年04月11日 00:55
  • 311
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员--Java基础加强(1)
举报原因:
原因补充:

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