摘要: 很多新手在学习编程的时候看到好多书上都有什么RTTI的一点讲解,觉得很重要但是自己一般好像又用不到,所以就放一边去了,这种学习的态度不好啊,原理性的东西要好好学习啊!!1.什么是RTTI??RTTI是运行时类型识别的简写(run-time type identification).RTTI可以在有一个指向基类对象的引用时,让你找出这个对象的确切类型.2.谈谈Class对象程序运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型识别。这象信息记录了每个对象所属的类。用来保存这些信息的类是Class类.每个类都有一个Class对象,也就是说每当编译了一个新类时就会产生一个Class对象( 阅读全文
posted @ 2012-03-22 17:45 yunxiange 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 内部类和C++中的嵌套类有点类似,不过Java中的内部类很有价值.需要内部类的几大理由:1.内部类可以隐藏你不想让别人看到的操作,此话怎讲呢,看看下面的例子(程序是Java编程思想里面的):publicinterfaceContents {intvalue();}publicinterfaceDestination {StringreadLabel();}publicclassGoods {privateclassContent implements Contents {private inti = 11;public intvalue() {returni;}}protectedclassG 阅读全文
posted @ 2012-03-22 17:45 yunxiange 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 1、先谈谈作用域的概念,C或者C++老手可能觉得没必要,但是请不要这样,因为在Java中,作用域和C++中有点不一样,C和C++能将一个变量“隐藏”在一个更大的作用域里;C++的程序{intx = 10; {intx = 20; cout<<x<<endl; } cout<<x<<endl;}程序的输出结果是20和10;Java程序:{intx = 10; {intx = 20;/* 此行出错*/ }}Java的设计者认为这样做使程序产生了混淆1.Java中类的定义:class [类名]{/*类的主体*/}2.类中的字段(数据成员)classDa 阅读全文
posted @ 2012-03-22 17:44 yunxiange 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 1.一些基本类型,像int,char这些类型(小的,简单的变量),为了方便,Java并没有把他们也创建到堆中,而是放在了堆栈中,可以高效的存取主类型大小最小值最大值封装器类型boolean1-bit––Booleanchar16-bitUnicode 0Unicode 216- 1Characterbyte8-bit-128+127Byteshort16-bit-215+215– 1Short1int32-bit-231+231– 1Integerlong64-bit-263+263– 1Longfloat32-bitIEEE754IEEE754Floatdouble64-bitIEEE754 阅读全文
posted @ 2012-03-22 17:43 yunxiange 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 不想当将军的士兵不是好士兵,不想当高手的程序员不是好的程序员,今天和大家说说Java中的反射机制吧,和高手又接近一步了.1.什么是反射??反射指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实例、或对其fields设值、或唤起其methods1。这种“看透class”的能力(the ability of the program toexamine itself)被称为introspection(内省、内观、反省)。2.反射与RTTIRTTI在编译的时 阅读全文
posted @ 2012-03-22 17:41 yunxiange 阅读(1069) 评论(0) 推荐(0) 编辑
摘要: 很多人搞C++的人可能一看到多线程就比较烦吧,因为C++标准里面没有多线程,Java程序员应该感到庆幸了,因为Java内带的支持多线程。1.什么是多线程??多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。 多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”。如果系统只有一个CPU,那么真正的“同时”是不可能的,但是由于CPU的速度非常.. 阅读全文
posted @ 2012-03-22 17:39 yunxiange 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 1.Java的运行条件:第一步:安装JDK,最新版本6.0,可以到sun的网站去下载JDK的下载地址(点击链接)(我的是安装在D:/SoftWare/Java/jdk1.5.0_04 );第二步:设置环境变量,Windows 2000 和XP在我的电脑->属性->高级->环境变量里设置新建JAVA_HOME : [JDK安装目录]/jdk1.5.0_04添加CLASSPATH:[JDK安装目录]/jdk1.5.0_04/bin;最简单的Java程序用记事本建立HelloWorld.java文件放到某个盘里比如E:盘;public class HelloWorld{ publi 阅读全文
posted @ 2012-03-22 17:38 yunxiange 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 1.接口与多继承这个问题很多所谓的Java高手都对我说:Java是面向对象的语言,C++里有多继承,Java里面不允许多继承,于是乎Java就提供了接口来帮助我们实现多继承.Java的接口真的就是为了实现多继承吗???看了点真正的高手的文章,觉得Java的接口不是那么简单的,接口是接口,多继承是多继承.2.接口的作用接口的作用简单一点就是:接口是用来标记类的,不同的类属于不同的接口(通过向上转型),管理接口比管理各种各样的类方便多了,接口体现了抽象的观点,什么是抽象?抽象就是"抽去像的部分"(不知道是哪位大虾说的,借用一下).3.使用接口解决问题问题:现在我们要写个连接数据 阅读全文
posted @ 2012-03-22 17:33 yunxiange 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 1.方便的IO操作是每个成功的语言所必须具有的,但是要有好的IO库可不是件容易的事情,因为不仅有三种不同的种类的IO需要考虑(文件、控制台、网络连接),而且需要通过大量不同的方式与它们通信(顺序、随机访问、二进制、字符、按行、按字等等)。2.Java库的IO类分割为输入与输出两个部分,通过继承,从InputStream(输入流)衍生的所有类都拥有名为read()的基本方法,用于读取单个字节或者字节数组。类似地,从OutputStream衍生的所有类都拥有基本方法write(),用于写入单个字节或者字节数组。然而,我们通常不会用到这些方法;它们之所以存在,是因为更复杂的类可以利用它们,以便提供一 阅读全文
posted @ 2012-03-22 17:31 yunxiange 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 1.昨天和大家讲了有关Java的IO特性,现在应该可以读写文本文件和二进制文件了吧,但是在一些特殊情况下我们需要更快的IO操作,这就谈到我们今天要讲的java.nio.*包了;2.实现更快的IO操作,我们通常使用的结构类似与操作系统执行IO的方式:通道和缓冲器;我们不直接和通道打交道,我们是通过缓冲器和通道打交道的。所以通道要么从缓冲器获得数据,要么向缓冲器发送数据3.唯一和通道直接打交道的缓冲器是ByteBuffer(可以查看Java的doc);下面看示例程序,通过文件通道和ByteBuffer实现文件的读写和随机读写package MyJava.Base;import java.io.*; 阅读全文
posted @ 2012-03-22 17:30 yunxiange 阅读(267) 评论(0) 推荐(0) 编辑