黑马程序员2012.6.26.03.45

来源:互联网 发布:柯蓝 知乎 编辑:程序博客网 时间:2024/06/02 18:18
---------------------- android培训、java培训、期待与您交流! ----------------------2012.6.23.21


1,引用数据类型就是指一段堆内存空间可以同时被多个栈内存指向。


2,只要是呗封装的属性,则必须通过setter和getter方法设置和取得。


3,对于私有属性要使用setter和getter方法设置和访问实际上还有一个原因,就是在Java中存在反射机制,在各个程序中,反射机制都会利用setter和getter设置和取得属性内容。


4,在一个类中如果已经明确地声明了一个构造方法,那么程序在编译时将不会再生成默认的构造方法,即一个类中应保证至少有一个构造方法。


5,匿名对象就是没有明确给出名字的对象,一般匿名对象只使用一次,而且匿名对象只在堆内存中开辟空间,而不存在栈内存的引用。


6,字符串的内容不可改变,一个String对象内容的改变实际上是通过内存地址的“断开-连接”变化完成的,而本身字符串中的内容并没有任何的变化。


7,使用static声明的属性是所有对象共享的。非static声明的方法可以去调用static声明的属性或方法。但是static声明的方法是不能调用非static类型声明的属性或方法的。


8,对象那个的多态性:
(1),向上转型:子类对象->父类对象,父类 父类对象 = 子类实例。
(2),向下转型:父类对象->子类对象,子类 子类对象 = (子类)父类实例。


9.在类的设计中,一定要明确记住一个原则,一个类不要去继承一个已经实现好的类,只能继承抽象类或实现接口,如果接口和抽象类都可以使用,那么优先使用接口,避免单继承局限。


10,同步就是指多个操作在同一时间段内只能有一个线程进行,其他线程要等待此线程完成之后才可以继续执行。


11,泛型就是指在对象建立时不指定类中属性的具体类型,而由外部在声明及实例化对象时指定类型。


2012.6.25.11.11


1,字节流主要操作byte类型数据,以byte数组为准,主要操作类是:
字节输出流:OutputStream类
字节输入流:InputStream类


2,在程序中一个字符等于两个字节,java提供了Reader和Writer两个专门操作字符流的类:
字符输出流:Writer类
字符输入流:Reader类
实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件。


3,使用字节流好呢,还是字符流好呢?
所有的文件在硬盘或在传输时都是以字节的方式进行的,包括图片等都是按字节的方式存储的,而字符是只有在内存中才会形成,所以在开发中,字节流使用较为广泛。


4,整个IO包实际上分为字节流和字符流,但是除了这两个流之外,还存在一组字节流字符流的转换类:
OutputStreamWriter:是Writer的子类,将输出的字符流变成字节流。即将一个字符流的输出对象变为字节流输出对象。
InputStreamReader:是Reader的子类,将输入的字节流变为字符流,即将一个字节流的输入对象变为字符流的输入对象。






1,反射:
一个核心的概念:一切的操作都将使用Object完成,类、数组的引用都可以使用Object进行接收。
任何一个类如果没有明确地声明继承自哪个父类时,则默认继承Object类,所以getClass()方法是Object类中的,此方法的定义如下:
public final Class getClass()
以上方法返回值的类型是一个Class类,实际上此类是Java反射的源头。
所有类的对象实际上都是Class类的实例。
开发工具是利用反射的原理。
反射除了可以取得一个类的完整结构外,还可以调用类中的指定方法或指定属性,并且可以通过反射完成对数组的操作。---------------------- android培训、java培训、期待与您交流! ----------------------
原创粉丝点击