java中涉及构造器的相关问题
在看到Thinking in java 第四章时初始化相关问题的时候,我们不由地把注意力移到构造器上。这里做个简单的总结,便于高手指正以及自己温故。
首先构造器是要构造一个东西{构造对象(实例)}并对其初始化。之所以很多程序中没有看到它,是因为在java程序中如果你没定义任何构造器,则编译器会自动给你加上默认构造器(不带任何参数,也没有“方法体”)。倘若自己定义了构造方法,编译器将不再自动添加。构造器是可以提供很多方法,但与构造方法又有所不同。如Robert Nielsen 所说,这关系就好似澳大利亚的鸭嘴兽是一种哺育动物。(要理解鸭嘴兽,那么先必须理解它和其他哺育动物的区别。)
其次构造器有几点简单的要求:
a,构造器需采用与类名相同的名称(大小写也要一致);
b,构造器没有返回值(也无需添加void);
c, 构造器修饰符仅有public,private及protected三个;
d,构造器与构造方法存在不同,如构造方法不仅要给对象实例变量赋值,并和new一起创建对象。
e,父类中的构造器不能被继承,父类中的方法可以继承。
f,同一类中的构造器可以重载。
g,子类与父类构造器编译时常出错的关键如下:
例一:
class A {
public A() {
System.out.println("A");
}
}
class B extends A{
public B(String str) {
System.out.println("B");
}
}
class C extends B{
public C(String str) {super(str);System.out.println("C String");
}
public C(int n) {System.out.println("C int");super("" + n);
}
}
说明:
编译错误,调用父类的构造器语句应该为类构造器中的第一个语句。
修改为:public C(int n) {super("" + n);System.out.println("C int");}
使用:C c = new C(10); //输出:A B C
例二:
class TestSuper{
TestSuper(int i){} &nb
相关文档:
1、进程与线程:
《1》什么是进程:是指运行中的应用程序,每一个进程都有自己独立的内存空间,
一个应用程序可以同时启动多个进程,(静态)比如(IE,JVM)
《2》什么是线程:是指进程中的一个执行流程, ......
WindowsMobile系统无法直接管理JAVA插件,需要借助JAVA虚拟机来管理JAVA插件,WM平台常见的JAVA虚拟机有Jbed和Jblend。下面就WM平台管理JAVA插件做简要介绍。
1、Jbed
Esmertec公司的产品,外部命令管理方式为:
安装:\Windows\jbed.exe -DFile.maxStorageSize=64M -ginstall \" ......
JSON 即 Java
Script Object Natation,它是一种轻量级的数据交换
格式,非常适合于服务器
与 Java
Script 的交互。本文将快速讲解 JSON 格式,并通过代码示例演示如何分别在客户端和服务器
端进行 JSON 格式数据的处理。
Json必需的包
commons-httpclient-3.1.jar
commons-lang-2.4.jar
......
public class TreeNodes{
IList<BranchInfo> branchs = BranchInfoManager.getAllBranchInfos();
foreach(BranchInfo branch in branchs){
TreeNode branchNode = new TreeNodeCreate(branch.BranchName,branch.BranchId.toString(),"","~/Images/menuclose.gif");
  ......