- 博客(20)
- 资源 (45)
- 收藏
- 关注
转载 继承时类的构造函数?
当一个类继承另一个类的时候,它调用构造函数,一般是先调用被继承那个类的构造函数,如果父类中没有带参数的构造函数的话,子类会调用默认的构造函数;如果你的父类有带参数的构造函数的话,这个带参数的构造函数就会覆盖默认的构造函数,这样,你的子类就必须会去调用带有参数的父类的构造函数。派生类必须调用基类的构造函数,但不继承基类的构造函数,实际上不继承是句废话,因为构造函数不能通过类的实例来调用。任何一个
2014-01-16 11:47:18 758
转载 多重继承有什么缺陷
在《设计模式》一书中,作者在开篇中就提出了面向对象的两条基本设计原则:1、多对接口编程,少对实现编程。2、多使用聚合,少使用继承。继承的过多使用当然会带来高耦合,当然聚合的过分会使模块过多。多重继承指的是一个类别可以同时从多于一个父类继承行为与特征的功能,是一种图状层次结构(有向无环图)。功能强大,但易引起二义性,占用内存比较多。有时多重继承会出现二义性,比如class A{
2014-01-16 11:46:26 1483
转载 Object类中的方法
public class Object{public Object();//7个公共实例方法public boolean equals(Object obj);// 用来比较以参数传递过来的对象和当前对象是否相等(必须是同一对象,才算相等。而在String中使用equals()方法时,只要字符串一样就算时相等,不要求是同一字符串的不同引用,只有用String类中“==”运算符时,才比较
2014-01-16 11:45:20 383
转载 equals与hashcode
例:两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?不对,有相同的hash code。首先equals()和hashcode()这两个方法都是从object类中继承过来的。equals()方法在object类中定义如下:public boolean equals(Object obj) {return (this == ob
2014-01-16 11:44:07 286
转载 java中创建对象的方法
有4种显式地创建对象的方式:1.用new语句创建对象,这是最常用的创建对象的方式。2.运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。3.调用对象的clone()方法。4.运用反序列化手段,调用java.io.ObjectInputStream对象的readObject()方法
2014-01-16 11:42:39 458
转载 写clone()方法时,通常都有一行代码,是什么?
在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。Clone 有缺省行为,super.clone();他负责产生正确大小的空间,并逐位复制。使用clone()来复制一个对象,clone()从Object类继承。所
2014-01-16 11:34:24 1052
转载 对象创建过程/初始化顺序
Java虚拟机创建一个对象都包含以下步骤。(1)给对象分配内存。(2)将对象的实例变量自动初始化为其变量类型的默认值。(3)初始化对象,给实例变量赋予正确的初始值。 对于以上第三个步骤,Java虚拟机可采用3种方式来初始化对象,到底采用何种初始化方式取决于创建对象的方式。(1)如果对象是通过clone()方法创建的,那么Java虚拟机把原来被克隆对象的实例变量的值拷贝到新对象
2014-01-16 11:30:56 397
转载 反射机制
反射机制最重要的部分是准许你检查类的结构。java.lang.reflect包中的三个类Field、Method、Constructor相应的描述了一个类的字段、方法、构造函数。使用这些类的时候必须要遵循下面步骤:第一步是获得你想操作的类的 java.lang.Class 对象。下面就是获得一个 Class 对象的方法之一:Class c = Class.forName("java.lang.
2014-01-16 11:25:01 390
转载 运行时异常与一般异常有何异同?
Throwable是所有Java程序中错误处理的父类,有两种资类:Error和Exception。 Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。Exception:表示可恢复的例外,这是可捕捉到的。Java提供了两类主要的异常:runtime exc
2014-01-16 11:20:40 365
转载 String对象创建个数
s = new String("xyz");创建了几个String Object?两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。String s="你好";int i=3; s=i+s; 这个表达式对吗?在java中会提示数据类型不匹配。因为string是类!正确做法: s+="3" 或者 s+='3'或者s+=(char)i;我们要引入另外一种创建String对象的方式的
2014-01-16 11:18:11 444
转载 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。强制执行垃圾回收:Sy
2014-01-16 11:15:49 527
转载 XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
a: 两种定义形式 dtd(文档类型定义) schema(XML模式);b: XML Schema和DTD都用于文档验证,但二者还有一定区别,本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的)。另外:XML Schema是内容开放模型,可扩展,功能性强;而DTD可扩展性差;XML Schema支持丰富的数据类型,而DTD不支持元
2014-01-16 11:11:46 449
转载 启动一个线程是用run()还是start()?
启动线程肯定要用start()方法。当用start()开始一个线程后,线程就进入就绪状态,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。当cpu分配给它时间时,才开始执行run()方法(如果有的话)。START()是方法,它调用RUN()方法.而RUN()方法是你必须重写的. run()方法中包含的是线程的主体。继承Thread类的启动
2014-01-16 11:08:43 704
转载 匿名内部类
匿名类是一种特殊的内部类,它是在一个表达式内部包含一个完整的类定义。所谓的匿名就是该类连名字都没有,匿名内部类不可以有构造器,因为匿名内部类是要扩展或实现父类或接口。匿名内部类可以继承其他类,因为是类就是继承自Object类的。匿名内部类实现接口指的是类本身定义的时候实现接口还是直接定义匿名内部类的时候实现接口,前者肯定是可以的,后者应该是不行的,光从语法上都不能实现,如:class
2014-01-16 11:06:27 542
转载 Ajax的工作原理
使用Ajax的主要原因:1、通过适当的Ajax应用达到更好的用户体验;2、把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的。 Ajax是Asynchronous JavaScript and XML的缩写。它包括使用XHTML和CSS标准化呈现;使用DOM实现动态显示和交互;使用XML和XSLT
2014-01-16 10:44:56 374
转载 Map线程安全几种实现方法
如果需要使 Map 线程安全,大致有这么四种方法: 1、使用 synchronized 关键字,代码如下synchronized(anObject) { value = map.get(key);} 2、使用 JDK1.5提供的锁(java.util.concurrent.locks.Lock)。代码如下lock.lock(); value = map.g
2014-01-16 10:42:52 551
转载 什么是java序列化,如何实现java序列化?
Java 串行化技术可以使你将一个对象的状态写入一个Byte 流里,并且可以从其它地方把该Byte 流里的数据读出来,重新构造一个相同的对象。这种机制允许你将对象通过网络进行传播,并可以随时把对象持久化到数据库、文件等系统里。Java的串行化机制是RMI、EJB等技术的技术基础。用途:利用对象的串行化实现保存应用程序的当前工作状态,下次再启动的时候将自动地恢复到上次执行的状态。序列化就是一种用
2014-01-16 10:34:47 357
转载 java中有几种类型的流 JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。C/C++只能提供字节流。Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream,OutputStream,Reader,Writer。Java中其他多种多样变化的流均是由它们派生出来的.字符流和字节流是根据处理数据的不同来区分的。字节流
2014-01-16 10:29:52 1707
转载 文件读写
文件写入:public FileOutputStream(String name, boolean append) throws FileNotFoundException创建一个向具有指定 name 的文件中写入数据的输出文件流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。import java.io.*;public class Demo{ pu
2014-01-16 10:11:11 410
转载 遍历文件
public static void deleteSrcPicture(String s_path) { try{ File s_file= new File(s_path.toString());if (!s_file.exists()) { System.out.println("s_file is not a directory."); return;
2014-01-16 09:58:46 338
Missing artifact com.babasport:page:jar:1.0
2018-02-27
spring-framework-3.1.0.RELEASE-with-docs.zip
2017-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人