- 这里有个问题,为什么必须要先执行父类的构造方法呢?
- 可以简单的理解,没有父类哪来的子类呢!
文章目录一、例11.问题2.分析3.问题变化4.分析二、例2:父类子类中均有静态代码块1.问题2.分析3另一个重要的问题一、例11.问题public class Demo01_StaticTest { private static Demo01_StaticTest st = new Demo01_StaticTest(); public static int c...
示例描述:本章演示如何开始使用JDK进行程序的开发。
HelloWorldApp.java 第一个用Java开发的应用程序。
firstApplet.java 第一个用Java开发的Applet小程序。
firstApplet.htm 用来装载Applet的网页文件
示例描述:本章介绍开发Java的基础语法知识。
accumulationByDoWhile.java 用do~while语句写的累加程序
accumulationByFor.java 用for语句写的累加程序
accumulationByWhile.java 用while语句写的累加程序
boolExample.java 演示boolean变量的程序
charExample.java 演示char变量的程序
compare.java 演示前缀、后缀自加之间区别的程序
constCharExample.java 演示转义字符
converseNumber.java 逆向输出数字
daffodilNumber.java 求水仙花数
division.java 演示整除结果
errorCompoundVariable.java 错误使用局部变量示例
factorial.java 求阶乘
Fibonacci.java 求Fiblnacci数列
GcdAndGcm.java 求最大公约数和最小公倍数
errorInit.java 演示变量初始化错误的程序
integerExample.java 演示各种整型变量的使用
isPrime.java 判断素数
leapYearByIf.java 用if语句判断闰年
leapYearByLogical.java 用逻辑表达式判断闰年
lowToUpper.java 小写字母转换成大写字母
lozengeStar.java 输出一个由*组成的菱形
multiplyTable.java 求乘法口诀表
narrowingConversion_1.java 缩减转换引发错误示例1
narrowingConversion_2.java 缩减转换引发错误示例2
notMultipleOfThree.java 把100-200之间不能被3整除的数输出
outputByDoWhile.java 用while循环随机输出数据
outputByWhile.java 用do~while循环随机输出数据
outputMax.java 求两个数中的最大数
overflowExample.java 演示溢出
precedence.java 演示自加运算符的优先级
primeNumber.java 输出100-200之间的所有素数
ranking.java 评定成绩等级
rankingBySwitch.java 用switch语句评定成绩等级
realExample.java 演示浮点数的有效位数
remainder.java 取余运算示例
showBreak.java 利用标号语句跳转出所有循环嵌套
showCount.java 循环计数示例
showDoubleLoop.java 演示双重循环
showDoubleLoopSe.java 改进的双重循环
showOrder_1.java 演示操作数求值顺序示例1
showOrder_2.java 演示操作数求值顺序示例2
sign.java 用条件运算实现符号函数示例
signByIF.java 用if语句实现符号函数示例
triangleStar.java 输出一个由*组成的直角三角形
upperToLowCase.java 大写转换成小写
variableScopeExample.java 变量使用范围示例
示例描述:本章学习对象和类。
accessMember.java 访问成员变量示例
constructNoPara.java 无参数的构造方法
constructWithPara.java 带参数的构造方法
declareDefault.java 缺省访问权限的使用
declarePrivate.java 私有访问权限的使用
declareProtected.java 保护访问权限的使用
deriveClass.java 子类访问父类变量示例
getLinePara.java 获取命令行参数示例
hasStaticMethod.java 静态成员方法示例
hasStatMember.java 静态成员变量示例
HelloNative.c 用C写的一个小程序
HelloNative.dll 用C生成的DLL文件
HelloNative.exp 用VC编译生成的辅助文件
HelloNative.h 用javah生成的C语言用的头文件
HelloNative.java 准备调用C函数的java文件
HelloNative.lib 用VC编译生成的静态库文件
HelloNative.obj 用VB编译生成的目标文件
HelloNativeTest.java 测试本地化是否成功的类文件
instanceVar.java 定义一个实例成员变量
invokeByObject.java 对象实参传递示例程序
invokeByValue.java 传值调用示例程序
invokeMethod.java 同一个类中调用方法示例
invokeOther.java 类的外部调用方法示例
invokeStaticMethod.java 调用静态方法示例
localVariable.java 演示局部变量
localVSmember.java 局部变量与成员变量同名问题示例
onlyTest.java 对象传值示例
otherClass.java 从类的外部访问对象的成员
showInstVar.java 演示不同的对象拥有不同的成员变量
showMain.java 演示main方法访问本类成员
showMethod.java 演示如何定义一个方法体
showReturn_1.java return语句示例1
showReturn_2.java return语句示例2
showStaicVar.java 演示静态变量的使用
staticBlock.java 演示静态块的使用
staticVar.java 定义静态变量
supplyTest.java 对象作为静态成员使用示例
trySwap.java 试图交换两个形参的值
useOnlyTest.java 创建多个对象,演示this的作用
useStaticBolck.java 使用静态块
useStVar.java 使用静态成员变量
示例描述:本章学习继承与多态。
absClass.java 抽象类定义示例
ancestor.java 基类定义示例1
ancestor_1.java 另一个基类定义
anonymousInner.java 匿名内部类
base.java 定义一个基类
BaseColors.java 一个简单的接口
basePoint.java 一个测试用的基类
Colorable.java 一个子接口
ColoredPoint.java 一个测试用子类
common.java 一个公用类
derive.java 一个测试用子类
differ.java 测试静态方法与实例方法之间的区别
forefather.java 一个简单的基类
grandson.java 上面这个类的子类
hasConstructor.java 拥有构造器的类
hasFinalFun.java 拥有最终方法的类
hasRecall.java 可以完成回调功能的类
HasStatic.java 一个简单的拥有静态成员的类
hideMember_1.java 成员隐藏示例1
hideMember_2.java 成员隐藏示例2
hideMember_3.java 成员隐藏示例3
hideMember_4.java 成员隐藏示例4
hideMember_5.java 成员隐藏示例5
implementABS.java 继承一个抽象类
impRecall.java 实现回调函数
inheritConstruct_1.java 构造器继承示例1
inheritConstruct_2.java 构造器继承示例2
inheritConstruct_3.java 构造器继承示例3
inheritConstruct_4.java 构造器继承示例4
inheritConstruct_5.java 构造器继承示例5
inheritConstruct_6.java 构造器继承示例6
inheritor.java 子类覆盖父类示例
inPack.java 包示例
LotsOfColors.java 定义一个子接口
matching.java 重载解析示例
notInPack.java 用前缀引用包中的类
onlyShow.java 一个简单的接口
Outer_1.java 外部类示例1
Outer_2.java 外部类示例2
Outer_3.java 外部类示例3
Outer_4.java 外部类示例4
Outer_5.java 外部类示例5
Outer_6.java 外部类示例6
Outer_7.java 外部类示例7
Outer_8.java 外部类示例8
overrideMember_1.java 成员方法覆盖示例1
overrideMember_2.java 成员方法覆盖示例2
overrideMember_3.java 成员方法覆盖示例3
overrideMember_4.java 成员方法覆盖示例4
overrideMember_5.java 成员方法覆盖示例5
Paintable.java 实现了多个接口的方法
PaintedPoint.java 实现了多个接口的方法
Point.java 一个简单的类
PrintColors.java 一个子接口
RainbowColors.java 一个子接口
realPoint.java 一个子类
second.java 属于一个命名包的类
showDiff.java 演示隐藏与覆盖之间的区别
showSomething.java 测试运行时多态
stupid.java 试图覆盖最终方法的类,它有错误
Sub.java 一个简单的子类
Super.java 一个基类
testOverload.java 测试方法的重载示例1
testOverload_1.java 测试方法的重载示例2
testOverload_2.java 测试方法的重载示例3
testOverload_3.java 测试方法的重载示例4
useConstructor.java 使用构造器
useHideMember_2.java 试图使用隐藏的成员变量
useInner.java 使用内部类
示例描述:本章学习数组与字符串。
ArrayString.java 字符串数组
assignTwoDime.java 为二维数组赋值
getMaxElem.java 获取数组中的最大元素
incCapicity.java 演示StingBuffer的容量增长
SortDemo.java 排序示例
travelTwoDime.java 遍历二维数组
traversing.java 遍历一维数组
useStrBuf.java 使用StringBuffer示例
useString.java 使用String示例
YanghuiTri.java 构造和显示杨辉三角
示例描述:本章学习Java的异常处理。
demoException_1.java 异常示例1
demoException_2.java 异常示例2
demoException_3.java 异常示例3
demoException_4.java 异常示例4
demoException_5.java 异常示例5
divZeroError.java 除零异常
hasCheckException.java 检查型异常
MyException.java 用户自定义异常
myInput.java 输入数据示例
nestException_1.java 异常嵌套示例1
nestException_2.java 异常嵌套示例2
nestException_3.java 异常嵌套示例3
outBoundError.java 下标越界异常
throwException.java 抛出异常示例
throwsException.java 声明抛出异常
useMyException.java 使用自定义异常
示例描述:本章学习Java的输入和输出。
CopyFile.java 文件复制实例
dir.java 显示目录下的所有文件和目录
encrypt.java 文件加密
FileList.java 自己实现的一个文件名称枚举类
MyDataIO.java 数据输入输出示例
MyFileOutput.java 将键盘读入的文字保存到文件
MyPipedIO.java 管道流示例
MySequenceIn.java 顺序输入流示例
ObjectFileTest.java 序列化对象示例
ReadAndWrite.java 读入和写出数据
ReadAndWriteFile.java 读入数据写出到文件
Student.java 定义一个用来序列化的类
ThreadIn.java 接收数据用的线程类
ThreadOut.java 发送数据用的线程类
TypeFile.java 显示文件内容的类
useScanner.java 用Scanner接收用户的输入
示例描述:本章学习多线程。
enhanceThread.java 一个自己定义的增强型线程类
ThreadImRunnable.java 继承Runnable接口实现多线程
mulThread.java 创建多个线程对象的类
demoJoin.java 演示使用join()以确保主线程最后结束
clicker.java 一个计数用的线程类
demoPri.java 调用上面这个类设置线程优先级示例
myThread.java 自己定义的一个Thread的子类
mutexThread.java 一个能管理临界区的线程类
demoMutex.java 使用上面这个类来演示线程的互斥
commSource.java 一个共享资源的类
demoSynchrony.java 演示线程的同步
setDataThread.java 设置数据的线程类
readDataThread.java 读取数据的线程类
demoEnhanceThread.java 使用自己定义的线程类示例
producer_consumer.java 演示生产者-消费者线程
consumer.java 消费者线程
producer.java 生产者线程
common.java 公有类
示例描述:本章学习运行时类型识别。
Candy.java 一个用来测试的简单类
changeFields.java 改变属性值示例
Circle.java 一个用于测试的简单类
DumpMethods.java 使用反射机制来获取类中的方法
getClassName.java 利用反射机制获取类的名字
invokeConstructor.java 利用反射机制调用构造器
invokeMethod.java 利用反射机制调用成员方法
listConstructors.java 利用反射机制获取构造器列表
listFields.java 利用反射机制获取成员属性列表
listMethods.java 利用反射机制获取成员方法列表
loadClass.java 动态装载一个类
Shape.java 一个用于测试的简单类
useArray1.java 用反射机制使用数组示例1
useArray2.java 用反射机制使用数组示例2
示例描述:本章学习泛型。
demoBounds.java 演示有界类型
demoForceChange.java 演示强制类型转换
demoGeneric.java 泛型类的使用示例
demoGenIF.java 测试泛型类
demoGenMethods.java 泛型方法示例
demoHerit_1.java 泛型类继承示例1
demoHerit_2.java 泛型类继承示例2
demoRTTI_1.java 泛型类的类型识别示例1
demoRTTI_2.java 泛型类的类型识别示例2
demoWildcard.java 通配符使用示例
demoWipe.java 擦拭示例
derivedGen.java 泛型父类继承示例
derivedNonGen.java 非泛型父类继承示例
foo.java 一个有错误的类
Gen.java 无限界的泛型擦拭
Generic.java 一个简单的泛型类
genMethod.java 一个泛型方法
GenStr.java 有限界的泛型擦拭
MinMax.java 泛型接口示例
MyClass.java 实现一个泛型接口
nonGen.java 以非泛型类为父类
simpGen.java 使用泛型类示例
Stats.java 一个有界类泛型
superGen.java 父类是泛型
twoGen.java 有两个参数的泛型类
示例描述:本章学习集合。
CompareScore.java 实现比较器接口
demoAlgorithm.java 集合中简单算法示例
demoArrayList.java 链表使用示例
demoBinSearch.java 二分查找示例
demoEnumSet.java 枚举类型示例
demoHashMap.java 哈希映射示例
demoHashSet.java 哈希集合示例
demoSort.java 排序示例
demoTreeMap.java 树映射示例
demoTreeSet.java 树集合示例
demoVector.java 向量使用示例
job.java 模拟操作系统的进程调度
monkey.java 用链表求猴子选大王
myCompare.java 自己实现的比较器接口
reverseString.java 利用栈将字符串逆序输出
scheduling.java 模拟操作系统的作业调度过程
showClothValue.java 根据用户输入型号输出相应的价格
Size.java 一个枚举类
Student.java 用于记录学生信息的类
示例描述:本章学习类型包装器、自动装箱和元数据。
demoAnno.java 给方法做注释示例
demoAutoBox_1.java 自动装/拆箱机制示例1
demoAutoBox_2.java 自动装/拆箱机制示例2
demoAutoBox_3.java 自动装/拆箱机制示例3
demoInteger.java 整数类型包装器使用示例
demoSingle.java 单成员注释使用示例
DeprecatedClass.java Deprecated注释示例
InProgress.java Documented元注释使用示例
Marker.java 一个被注释的接口
Meta.java 利用反射机制获取方法的注释
MetaAll.java 获取所有注释示例
MyAnno.java 包含了默认值的注释
MyMarker.java 标记注释使用示例
MySingle.java 单成员注释使用示例
OverrideTester.java Override注释示例
SuppressWarningsTester.java SuppressWarnings注释示例
TODO.java Target元注释使用示例
What.java 显示全部注释
示例描述:本章学习常用工具类。
checkEmail.java 利用正则表达式检验Email的合法性
currentTime_1.java 显示时间示例程序1
currentTime_2.java 显示时间示例程序2
currentTime_3.java 显示时间示例程序3
DateAndTime.java 用Calendar显示当前的日期和时间
demoFmtTime.java 使用时间格式转换符输出日期和时间
demoFormatter.java Formatter简单输出示例
demoGroup.java 组匹配使用示例
demoMathing.java 匹配方法使用示例
demoMemory.java 内存管理示例程序
demoPattern_1.java Pattern使用示例1
demoPattern_2.java Pattern使用示例2
demoRandom.java 产生随机数序列示例
demoReplace.java 替换方法使用示例
demoRound.java 取整函数使用示例
elapsed.java 计算程序运行时间
exitJVM.java 从子线程中退出虚拟机
getPI.java 利用随机数求π值
progPI.java 利用反正切函数求π的值
runNotepad.java 启动记事本
showCalendar.java 用GregorianCalendar实现一个万年历
showProperties.java 获取环境属性
textToTime.java 从文本串创建日期对象
useLog.java 利用换底公式求任意对数值
示例描述:本章学习GUI程序设计。
addNodeInJTree.java 在JTree中增加节点示例
AlarmClock.java 小闹钟程序
AWTComponents.htm 为显示AWT组件而编制的网页文件
AWTComponents.java AWT组件示例
AWTFrame.java 用AWT编写的一个简单窗口
CheckAchromatopsiat.java 色盲检测程序
demoBorderLayout.java 边框布局使用示例
demoCardLayout.java 卡片布局使用示例
demoGridBagLayout.java 增强网格布局使用示例
demoGridLayout.java 网格布局使用示例
demoJApplet.htm 运行JApplet的网页文件
demoJApplet.java JApplet使用示例
demoJButton.java 按钮使用示例
demoJCheckbox.java 复选框使用示例
demoJComboBox.java 组合框使用示例
demoJDialog.java 对话框使用示例
demoJFrame.java JFrame简单使用示例
demoJLabel_1.java 图像标签使用示例
demoJLabel_2.java 改变标签上鼠标形状示例
demoJList.java 列表框使用
demoJMenu.java 菜单使用示例
demoJPanel.java 面板使用简单示例
demoJRadioButton.java 单选按钮使用示例
demoJScrollPane_1.java 在JScrollPane创建时添加组件示例
demoJScrollPane_2.java 通过add()方法添加组件示例
demoJSplitPane_1.java 分隔板简单示例1
demoJSplitPane_2.java 分隔板简单示例2
demoJTabbedPane.java 选项板使用示例
demoJTable_1.java 表格使用示例1
demoJTable_2.java 表格使用示例2
demoJTable_3.java 表格使用示例3
demoJTable_4.java 表格使用示例4
demoJTable_5.java 表格使用示例5
demoJText.java 文本框和密码框使用示例
demoJTextArea.java 文本区使用示例
demoJToolBar.java 工具栏使用示例
demoJTree.java 创建JTree示例
ExampleFileFilter.java Sun公司提供的一个文件名过滤器
findDialog.java 查找对话框
fontDialog.java 字体选择对话框
MyTableModel.java 本类实现了一个表格用的模型,取代默认的模型
Notebook.java 记事本
painting_1.java 在面板上画出简单图形示例1
painting_2.java 在面板上画出图形示例2
reMulEvent.java 响应单击按钮事件
showTriDialog.java 用系统预定义的对话框
本章下面还有一些编程要用到的图片和声音文件,不一一列出。
示例描述:本章学习多媒体程序设计。
building.java 调用另外一个houseCanvas类画出一栋房子
CombinerCanvas.java 编写自己的画布,所要显示的图片在此画布上显示
CombinPic.java 合成两幅图片
DrawArcs.java 画椭圆和圆弧示例
DrawLines.java 画直线示例
DrawPoly.java 画多边形示例
DrawRects.java 画矩形示例
fadeInOut.java 淡入淡出效果示例
FillArea.java 填充图形示例
FontsCanvas.java 自行管理字体的画布
GetFonts.java 获取系统中安装的字体示例
GrayFilter.java 自己实现的GrayFilter类
GrayModel.java 实现一个具备灰度变换功能的Model
houseCanvas.java 用直线画出一栋房子
illumination.java 光照特效示例
LightingLiteral.java 字体特效显示示例
ManageFonts.java 自行管理字体示例
mixing.java 显示色彩混合效果
playAudio.java 在Application中播放声音文件
playMP3.java 增强的声音播放文件
playMusic.htm 可以播放背景音乐的一个网页
playMusic.java 利用AudioClip播放声音文件
playVideo.java 媒体播放器编写示例
ResizeOval.java 缩放图形示例
ShowFonts.java 建和使用字体示例
SoundBase.java 将Java Sound API封装在一个线程中
TransparencyExample.java 为实现色彩混合效果而定义的画布
viewPic.java 用标签显示图像示例
本章下面还有一些编程要用到的图片和声音文件,不一一列出
示例描述:本章学习数据库程序设计。
AddressList.java 学生信息管理系统实例
deleteData.java 从数据库中删除记录
FirstExample.mdb 本章用到的数据库文件
insertData.java 向数据库中添加新数据
queryData.java 查询数据示例
updateData.java 修改数据示例
示例描述:本章学习C/S网络程序设计。
chatClient.java 聊天客户端程序
chatServer.java 聊天服务端程序
Client.java 一个简单的客户端程序
DownFile.java 文件下载示例
GetHostName.java 根据IP查找主机名
GetIP.java 根据域名查找IP地址
GetMyIP.java 获取本机IP地址
MultiServer.java 可以响应多个客户端的服务程序
myBrowser.java 一个简单的浏览器
Server.java 一个简单的服务端程序
ServerThread.java 一个服务端的线程类
UDPChat.java 用UDP实现的聊天程序示例
示例描述:本章学习JSP程序设计。本章所有文件均已经按照Tomcat网站部署的要求放置在各自的目录下,然后打包成ZIP文件。读者只需要解包后放置在某一分区中,然后在Tomcat中配置好入口就可以使用。
下面的文件均放置在ROOT目录下面
ArbitraryObject.java 实现一个事件监听者接口的类
calendar.jsp 用JSP实现的日历
count.txt 站点计数器保存的数据文件
counter.jsp 用JSP实现的计数器
faq.java 连接数据库用的JavaBean
leaveword.htm 留言板的主页面
Model.java 自己定义的事件源类
ModelChangedListener.java 自己定义的一个事件监听者接口
MouseMovedExampleEvent.java 事件状态对象示例
MouseMovedExampleListener.java 鼠标事件监听者接口与事件监听者示例
OurButtonCustomizer.java 实现一个“按钮”Beans的定制器
query.jsp 数据库查询程序
saveword.java 用于保存记录的JavaBean
saveword.jsp 后台保存数据的JSP文件
viewword.jsp 查看留言的JSP页面
WeekDayBeanInfo.java 实现BeanInfo接口示例
WeekDayEditor.java 实现属性编辑器接口
下面的文件均存放在chat目录下,是聊天室的组成文件。
chatreg.java 用户注册用到的JavaBean文件
chatreg.jsp 用户注册的前台JSP文件
chatregcof.jsp 用户注册检查JSP文件
chatroom.jsp 聊天室的主页面
confirm.jsp 检查登录是否正确的JSP文件
in.jsp 即将进入聊天室前的提示页面
listuser.jsp 显示聊天室内的所有用户名的JSP文件
logout.jsp 清除用户的相关信息
netchat.jsp 用户进入聊天室的界面文件
showmsg.jsp 显示各个用户所说的话
talk.jsp 用户聊天用的JSP文件
示例描述:本章是一个IM软件的完整代码。
ChatFrame.java 聊天用的主界面程序
ClientManageFrame.java 是好友管理窗口,也是客户端程序的主窗口
DBConnection.java 连接数据库用的JavaBean
FindUserDlg.java 查找好友对话框
FindUserInfo.java 显示用户基本信息
FriendLabel.java 在list列表中显示用户的头像和字符信息
Login.java 用户登录界面
LoginUser.java 定时器的任务类,用于定时获取上线的用户的信息
MyInfo_AboutBox.java 显示作者信息
ReceiveOthersDialog.java 当用户收到陌生人的消息时,这个类向用户提示
RegisterDialog.java 用户注册面板
Server.java 提供各种服务的类
ServerFrame.java 服务器端的主界面
ServerThread.java 与客户端通讯的线程
SetCenter.java 将窗口设置在屏幕中央的类
showTimeTask.java 刷新时间的类
StartServer.java 启动服务器的主类
UpdateDialog.java 更新用户信息的对话框
UserInfo.java 获取用户信息的类
UserInfoBean.java 保存用户信息的一个JavaBean
设计一个客运活动仿真系统,从上午7:30开始到下午5:59产生到站乘客,随机生成新到达乘客的目的地,并根据先后顺序上车,两种车型具有不同的发车时间,车辆运行过程中可根据乘客下车情况在中途停靠站停车。程序界面显示客运活动时刻,站内车型和编号,候车乘客人数,正在行驶的客车的车型和编号,正在行驶的客车的乘客人数和当前位置。
部分车辆限制以配置文件形式写入config.properties;ConfigSetting类用来图形化修改配置文件;Constant类定义系统大多数通用常量,可以读取配置文件设定部分静态变量的值,其他类采用静态导入的方式使用;GUIOfSystem类运行图形化界面,实现交互式操作可以开始、暂停、修改参数(需重新编译);MyColock类用以显示客运活动时刻,可返回自定义时间戳和格式化时间字符串,可根据时刻停止发车;STATION类存储站点信息,包括停靠站点位置与停靠站点名对应的Map,停靠站点下车人数,始发站发车队列添加删除获取队列头元素;抽象Vehicle类定义车辆共有属性和通用方法,判定是否有乘客下车,设定当前运行状态,根据运行状态返回;…………
hf-bins-----------------------------------shell
hf-docs-----------------------------------项目文档
hf-libs-----------------------------------业务模块
hf-projects-----------------------------
我们知道静态变量在函数执行时会进行初始化,那么不同文件中定义的静态变量都要进行初始化,这些不同变量的初始化顺序是什么?答案是不确定的。例如:
a.h中
static const std::string msg = "hello";
class Manager {
pubic :
static Manager& Instance() {
static Manager manager;
return man...