`
文章列表
      在Java中,框架被设计为放置组件的容器,所以并不直接将信息绘制在里面,而是把信息绘制在一个面板中,再将这个面板添加到框架中。       JFrame中,有四层面板:根窗格、层级窗格、玻璃窗格和内容窗格。前三个 ...
      我们经常需要读写文本文件,FileWriter和FileReader类可以用于从文件中写入/读取数据。但是该类只能按照本地平台的字符编码来处理数据,用户不能指定其他字符编码类型。       它们的构造方法如下: FileReader(File file):参数file指定需要读取的文件。 FileReader(String name):参数name指定需要读取的文件的路径。 FileWriter(File file):参数file指定需要写入的文件。 FileWriter(String name):参数name指定需要写入的文件的路径。  此外还需要用到PrintW ...
JFrame类本身只包含若干个改变外观的方法。然而,继承了各个超类中许多处理框架大小和位置的方法。如: dispose方法用于关闭窗口,并回收创建窗口所使用的全部系统资源。 setIconImage方法用于将窗口极小化时的图标设置为Image对象。 setTitle方法用于改变标题栏中的文本。 setResizable方法利用一个boolean值确定框架的大小是否允许用户改变。 setLocation(x,y)方法将窗口放置在坐标为x,y的位置。 setBounds(x,y,width,height)方法将窗口指定位置,同时设定窗口大小。 但是对于不同分辨率的屏幕,框架的大小不 ...
Java的多线程(一)  1.Java多线程机制       由于Java是纯面向对象语言,因此,Java的线程模型也是面向对象的。Java通过Thread类将线程所必须的功能都封装了起来。要想建立一个线程,必须要有一个线程执行函数,这个线程执行函数对应Thread类的run方法。Thread类还有一个start方法,这个方法负责建立线程,相当于调用Windows的建立线程函数CreateThread。当调用start方法后,如果线程建立成功,并自动调用Thread类的run方法。因此,任何继承Thread的Java类都可以通过Thread类的start方法来建立线程。如果想运行自己的线程执 ...
看到很多朋友在写单例,也来凑个热闹,虽然很简单,但是也有很多知识点在单例里面,看看是否能写出点不一样来。      单例模式(Singleton)   1  场景问题 1.1  读取配置文件的内容         考虑这样一个应用,读取配置文件的内容。        很多应用项目,都有与应用相关的配置文件,这些配置文件多是由项目开发人员自定义的,在里面定义一些应用需要的参数数据。当然在实际的项目中,这种配置文件多采用xml格式的。也有采用properties格式的,毕竟使用Java来读取properties格式的配置文件比较简单。        现在要读取配置文件的内容,该如何 ...
来自http://www.iteye.com/topic/269601的文章   一、为什么equals()方法要重写? 判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象。这样我们往往需要重写equals()方法。 我们向一个没有重复对象的集合中添加元素时,集合中存放的往往是对象,我们需要先判断集合中是否存在已知对象,这样就必须重写equals方法。     二、怎样重写equals()方法? 重写equals方法的要求:1.自反性:对于任何非空引用x,x.equals(x)应 ...
一、 操作符“==”     用来比较两个操作元是否相等,这两个操作元可以是基本类型,也可以是引用类型。     当操作元是引用类型变量时,这两个引用变量必须都引用同一个对象,结果才为true。 Integer int1 = new Integer(1); In ...

深拷贝

1.浅复制与深复制概念⑴浅复制(浅克隆)被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。⑵深复制(深克隆)被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换言之,深复制把要复制的对象所引用的对象都复制了一遍。2.Java的clone()方法⑴clone方法将对象复制了一份并返回给调用者。一般而言,clone()方法满足:①对任何的对象x,都有x.clone() !=x//克隆对 ...
  1. 相同点: 都要求方法同名。 都可以用于抽象方法和非抽象方法之间。   2. 不同点: 方法覆盖要求参数签名必须一致,而方法重载要求参数签名必须不一致。 方法覆盖要求返回类型必须一致,而方法重载对此不做限制。 方法覆盖只能用于子类覆盖父类的方法,方法重载用于同一个类的所有方法(包括从父类中继承而来的方法)。 方法覆盖对方法的访问权限和抛出的异常有特殊的要求,而方法重载在这方面没有限制。 父类的一个方法只能被子类覆盖一次,而一个方法在所在的类中可以被重载多次。
  1.      子类方法的名称、参数签名和返回类型必须和父类方法的名称、参数签名和返回类型一致。   public class Base { public void method() {… …} } public class Sub extends Base { public void method() {… …} public int method(int a) { return 0; } }    上述代码中子类覆盖了父类的一个方法,然后又定义了一个重载方法,这是合法的。  2.  子类方法不能缩小父类方法的 ...
     Java源文件中,只有满足下面条件才会生成JavaDoc文档:       只有文本注释才能生成JavaDoc文档,即以“/**”开始,并以“*/”结束的注释。      Java源文件中在类声明、接口声明、成员方法声明、成员变量声明 ...
Global site tag (gtag.js) - Google Analytics