- 博客(89)
- 收藏
- 关注
原创 通过实验看 Java 中私有成员是否能被继承
关于 Java 中,子类能不能继承父类中的私有成员的问题,似乎颇有争议。在 SUN 授权 Java Language Specification 一书中,作者认为子类可以继承父类的私有成员,只是不能访问罢了。我们知道,子类可以通过声明具有相同名字的属性来覆盖掉从父类中继承而来的相应属性,也可以声明具有相同名字相同签名的方法来覆盖掉从父类中继承而来的相应方法。也就是说,如果子类可以从父类中继承私有成
2005-09-25 11:21:00 2730 2
原创 Java 中子类是否只继承父类的非私有变量和方法?
今天在 CSDN 论坛中见到有人问在 Java 中子类是否只继承父类的非私有变量和方法(原贴在此)。大部分跟贴都认为这句话是正确的,但是对于这个问题背后的本质理解却是错误的。首先我们明确一下“继承”一词的概念,在 Java 中,继承一词的意义是有限制的。一个子类只能继承其父类的可访问的成员,并且该子类没有覆盖或者说隐藏父类中的那些可访问成员。所以,一个类的成员就是指在这个类中所声明的属性和方法,再
2005-09-25 11:17:00 3921 4
原创 抽象类和接口的区别
在 Java 中,接口用于定义一种必须具有的形式,但实际上又不提供任何方法的实现。在这个方面,有点和抽象类类似——抽象类要求程序员按照抽象方法所规定的相同的方式对之进行扩展(extend)。两者的不同之处在于:1. 抽象类是一个不完整的类,需要进一步细化;而接口只是一个行为的规范。2. 接口基本不具备继承的任何基本特点,它只是承诺了能够调用的方法。3. 一个类一次可以实现多个接口,但是只能继承一个
2005-09-25 11:11:00 2758
原创 Java中的Class Loader
Java的ClassLoader Java中的ClassLoader采用Delegation机制。即每一个ClassLoader都有自己的Parent Class Loader,当从一个Class Loader中加载一个Class时,会先到当前ClassLoader的Parent中寻找该Class是否已经被加载,如果是,则从其Parent Class Loader中得到Class的Instance
2005-09-25 11:04:00 1659
原创 对Java克隆方法的研究(一)
Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,本文会试图澄清这一概念。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。本文会让你了解什么是影子clone与深度clone,认识它们的区别、优点及缺点。 看到这个标题,是不是有点困惑:Java语言明确说明取消了指针,因为指针往往是在
2005-09-25 10:56:00 1296
原创 Life rule!!!
今后的生活准则1.要努力放弃自己的其他兴趣,不再去为其他东西浪费时间,只专心自己所关心、看好的技术。2.要努力克制对新事物的好奇,只关心与我本职行业有关的东西。3.要尽量少去自己常混的论坛,最主要的是不去落伍者论坛。4.要养成良好的作息习惯,一定要在凌晨0点之前睡觉9点之前起床。5.尽量少上QQ,少聊天,努力抵制漂亮MM对我的诱惑。6. 坚持自己的原则:尽量帮助别人,不再为别人的低级问题而浪费我宝
2005-09-21 18:46:00 1327
原创 《通过重构实现模式》读书笔记
《通过重构实现模式》读书笔记作者: Joshua Kerievsky1. 模式是面向对象设计的基石,而测试为先的程序设计和毫不留情的重构又是渐进式设计的基石。 为了避免过度设计或者设计不充分,应该权衡使用这些编程实践,并按照需要不断发展变化。2. 随着设计技术的提高,我发现自己使用模式的方式渐渐不同了:我开始“通过重构实现模式(refactoring to patterns)”,而不是在
2005-09-21 06:53:00 1934
原创 《Thinking in Java》读书笔记(二)
第二章 万事万物皆对象一. Reference是操控对象的钥匙。 Java中的Reference可以大致理解为C++中的Reference,但是注意Java中都是pass by value,而C++的Reference则并非如此。 【注】在C++中Reference != Pointer,主要区别如下: (1)看上去就不一样,Pointer用->,Reference用.;
2005-09-21 06:43:00 1809
原创 《Thinking in Java》读书笔记(一)
第一章 对象导论1. 面向对象的一些基本概念 接口:每个对象都有接口。 封装:隐藏实现细节。 聚合:重复运用实现代码。 【注】aggregation和composition的区别可以参看UML定义 集成:重复运用接口。 多态:后期绑定(late binding)是它的基础。 【注】late binding也叫dynamic bin
2005-09-21 06:41:00 1622
原创 Java中static、this、super、final用法
一、static 请先看下面这段程序: public class Hello{ public static void main(String[] args){ //(1) System.out.println("Hello,world!"); //(2) } } 看过这段程序,对于大多数学过Java 的从来说,都不陌生。即使没有学过Java,而学过其它的高级语言
2005-09-11 00:44:00 1357
原创 【经典推荐】每个初学者都应该搞懂的问题!
对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。问题一:我声明了什么!String s = "Hello world!";许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的
2005-09-07 18:56:00 1170
原创 超级简单的 Socket
服务端 Server.javaimport java.io.*;import java.net.*;public class Server { public static final int PORT = 8080; //指定服务器监听端口 public static void main(String[] args) throws
2005-09-07 18:54:00 1208
原创 构造器
构造器和方法的区别 摘要要学习Java,你必须理解构造器。因为构造器可以提供许多特殊的方法,这个对于初学者经常混淆。但是,构造器和方法又有很多重要的区别。我们说构造器是一种方法,就象讲澳大利亚的鸭嘴兽是一种哺育动物。(按:老外喜欢打比喻,我也就照着翻译)。要理解鸭嘴兽,那么先必须理解它和其他哺育动物的区别。同样地,要理解构造器,那么就要了解构造器和方法的区别。所有学习java的人,尤其是对那些要认
2005-09-07 18:53:00 1332 1
原创 对Final的一点认识
对Final的一点认识在编程的过程中,我们总是会遇到final关键字,那么我们对final怎么理解呢,下面是我的一点粗浅认识,和大家共享。package zy.pro.jbd.demo; public class FinalDemo { final int numInt1=16; final String str="zy"; final String str1; 注
2005-09-07 18:52:00 1119
原创 Java内存泄露问题分析
Java内存泄露问题分析 作者:csdn 来源:csdn很多人在谈论内存泄露问题,当然对于c/c++来说,这个应该是老掉牙的问题,但是很多Java人员也越来越多得讨论这个问题,我这里写个小结,希望对大家有一定的参考价值。 内存泄漏的慨念 1.c/c++是程序员自己管理内存,Java内存是由GC自动回收的。 我虽然不是很熟悉C++,不过这个应该没有犯常识性错误吧。 2.什么是内存泄露?
2005-08-05 15:31:00 1360
原创 【转载】JAVA代码编写的30条建议
JAVA代码编写的30条建议 作者:http://blog.csdn.net/cswcafe/ 来源:http://blog.csdn.net/cswcafe/JAVA代码编写的30条建议 (1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如: ThisIsAClassName thisIsMe
2005-08-05 15:28:00 883
原创 初識JAVA
Java告诉我说:世间万物皆为对象!于是,我不断的在互联网Search,以更新我的QQ列表;然后以代码复用技术重复着那一经典:Hello!终于,当我在QQ的多线程间频繁切换时,我以为,我已经持有了对象。但一天,某Class对我说:你不是我的对象!这一刻,我心头只有一种形态:这种异常应该在执行期前得以清理。所以,我至今仍象没有分配到执行权饥饿的线程,苦苦思索生活与设计的模式;直到我领悟到Java的通
2005-08-04 13:03:00 1004
原创 Java 的package 機制
Java 的package 機制,是每一位學習Java 的人都必須突破的門檻,所以接下來我們將就這個議題做深入討論,底下假設您剛裝好Java 2 SDK 於d:/jdk1.3.0_01 目錄之中,而且沒有修改任何的環境變數(請使用指令:echo%CLASSPATH%,看看CLASSPATH 這個環境變數是否已經設定,如果該環境變數已經被設定了,那麼您的測試結果將會和底下的測試結果有所不同)。接著我
2005-08-04 13:01:00 950
原创 每个java初学者都应该搞懂的问题!
对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。问题一:我声明了什么!String s = "Hello world!";许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的
2005-07-27 10:38:00 870
原创 【转载】学不可以已——我一年Java之路的回顾,反思以及展望(下)
在暑假的学习中情况也是像我以前计划的那样发展,首先看的一本书就是《Java Network Programming》,Bruce确实推荐了一本好书,这本书循序渐进并且讲的非常的透彻,学完这本书然后再学习新的net的API以及NIO是非常轻松的,这本书我花了10天看完了,自我感觉好极了^_^。与此同时也每天练习《Java Cookbook》中的代码,这个假期我把那本书的代码全部亲自实践了一遍,正因为
2005-07-20 16:20:00 1198
原创 【转载】学不可以已——我一年Java之路的回顾,反思以及展望(上)
大约就是在去年的这个时候吧,Java这个字眼就开始占据了我学习计划中的重要席位,从那时候那杯冒热气的咖啡一直陪伴我到今天。也不知道当时为什么要学习Java,又是为什么选择了Java。因为我记得当时的我,心中所想和现在可谓是大相径庭!那时我曾天真的想着,我将来学管理,你们这些学计算机的人出来也难逃给管理界人士做下属的命运,现在想来,那时是多么的无知和幼稚,我怕现在的很多大学生,更确切的说很多像我们专
2005-07-20 16:18:00 1029
原创 好的JAVA风格(英译)
介绍作为一个已经工作了很多年的软件开发者和咨询师,我看过大量形形色色的程序语言代码。其中有文雅的也有丑陋的,但是不幸的是,它们中大多数代码都是丑陋的。 我希望能够说服你们,我的开发伙伴们,我们应该足够的重视我们的代码风格,尤其是那些在应用程序中提供用户接口和其他可视化部分的代码。在这两部分系列的第一部分, 我会解释为什么我们应该关心我们的代码外观,然后阐述一些好的JAVA风格的一般要素。为
2005-07-20 15:00:00 1026
原创 【原创】移位运算
对于一个Java程序,其运行的效率是十分重要的。而我们往往写好一个程序都要对代码进行优化。本文主要以移位运算来代替算术运算,从而提高运行的效率。移位运算:左移一位相当于十进制数乘以2,右移一位相当于除以2,左移2位相当于乘以2的平方。 8 4 16例:1000=100=10000 右移 左移因为移位运算比乘除运算的执行速度要快,所以使用移
2005-07-11 22:59:00 1431
原创 【原创】区分"=="与equals()
今天整理了一下前段时间学习做的笔记,希望对大家有帮助!"=="判断的是两个变量是否引用同一个对象,而equals()比较的是内容,equals()是String里的方法。对象相同:简单地说就是内存里有一个对象,但有两个变量都是指向它,就象一个人有两个名字但是同一个人。所以它的内部结构也就相同,不会出现一个对象不同值的现象。使用euqals()返回true的两个变量,用"=="可能返回false。因
2005-07-11 22:40:00 1320
原创 Tomcat+Jsp经典配置
Tomcat下JSP、Servlet和JavaBean环境的配置 经常看到jsp的初学者问tomcat下如何配置jsp、servlet和bean的问题,于是总结了一下如何tomcat下配置jsp、servlet和ben,希望对那些初学者有所帮助。 一、开发环境配置 第一步:下载j2sdk和tomcat:到sun官方站(http://java.sun.com/j2se/1.5.0/download.
2005-07-01 04:40:00 2462
原创 在此申请Gmail信箱,不限量,无需邀请(The free gmail inviter)
在此申请Gmail信箱,不限量,无需邀请:http://www.bytetest.com 哈 哈 ! 刚刚申请到Gmail,拿出来和大家一起分享,各位申请到后,如果也是JAVA新手的话不妨留下Gmail互相交流一下哦! If you already have an account and wish to donate invites, you can send them to t
2005-06-29 14:29:00 2626 1
原创 【站务】二次改版公告
距离第一次改版才过几天,今天仔细瞅了一下,发现已经存在很多不合理的地方了,感觉还待完善.找文章比较费劲了,而且CSDN BLOG最近访问速度太慢了。为了节省时间,今天花了半夜的功夫。重新调整了一下,增删了一些分类,并发表和转载了几篇比较好的文章,希望能对大家有帮助!当然也会有原创,现在已临近期末正在努力复习,等放暑假偶会边学习边写些原创和大家一起分离.同时也对本BLOG界面上做了部
2005-06-27 22:20:00 1196
原创 Java基础之关键字
Java基础之关键字呵呵,不管别的,来几条题目先,作对了你牛^_^ 1, which of the following are keywords or reserved words in java? a) if b)then c)goto d)wh
2005-06-27 02:43:00 987
原创 【转载】java新手必读,一些入门知识
java新手必读,一些入门知识 文章很好,我初学JAVA时,也是在这篇文章的指导下进行的,在此不妨推荐给广大将要学习JAVA的朋友! 1、jdk就是j2se,jdk1.1.8版本以后改成为j2se, 下载地址:http://java.sun.com/j2se/downloads.html 2、jre是java
2005-06-27 02:40:00 969
原创 Java学习推荐书籍
书名:Java编程思想URL: http://www.china-pub.com/computers/common/info.asp?id=7241评论:其实这本书并不适合作为Java入门使用,有位道友人为:看这种书有种看马克思选集的感觉,车轱辘话来回说,本来很简单的概念, 看过他的复杂的例子后,就云山雾绕了。当然,治疗失眠的效果是不错的。我本人读这本书也是读了N多遍吧,总是感觉无法掌握其中一些概
2005-06-27 02:35:00 1220
原创 【转载】Java虚拟机类装载:原理、实现与应用
Java虚拟机类装载:原理、实现与应用作者:刘学超一、引言Java虚拟机(JVM)的类装载就是指将包含在类文件中的字节码装载到JVM中, 并使其成为JVM一部分的过程。JVM的类动态装载技术能够在运行时刻动态地加载或者替换系统的某些功能模块, 而不影响系统其他功能模块的正常运行。本文将分析JVM中的类装载系统,探讨JVM中类装载的原理、实现以及应用。二、Java虚拟机的类装载实现与应用2.1 装
2005-06-27 02:30:00 1006
原创 【转载】Java虚拟机的深入研究
Java虚拟机的深入研究作者:刘学超 1 Java技术与Java虚拟机说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成: Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:图1 Java四个方面的关系运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之
2005-06-27 02:28:00 1006
原创 【转载】Java堆的管理--垃圾回收
Java堆的管理--垃圾回收作者:刘学超作者简介刘学超,华中师范大学计算机科学系网络与通讯研究所,你可以通过shuechao_lau@hotmail.com与他联系。1 引言Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指
2005-06-27 02:25:00 798
原创 【转载】Java类装载体系中的隔离性
Java类装载体系中的隔离性作者:盛戈歆作者简介盛戈歆,软件工程师,你可以通过shenggexin@topwaver.com与他联系。正文:Java中类的查找与装载出现的问题总是会时不时出现在Java程序员面前,这并不是什么丢脸的事情,相信没有一个Java程序员没遇到过ClassNotException,因此不要为被人瞅见自己也犯这样的错误而觉得不自然,但是在如果出现了ClassNotFoundE
2005-06-27 02:22:00 940
原创 多线程学习初步
import java.io.*;//多线程编程public class MultiThread {public static void main(String args[]){System.out.println("我是主线程!");//下面创建线程实例thread1ThreadUseExtends thread1=new ThreadUseExtends();//创建thread2时以实现了R
2005-06-27 02:18:00 741
原创 Eclipse快捷键
本文档从Eclipse软件上整理,是列出了标准的快捷键,未列出Emacs快捷键。转贴请注明作者和出处。编辑作用域 功能 快捷键 全局 查找并替换 Ctrl+F 文本编辑器 查找上一个 Ctrl+Shift+K 文本编辑器 查找下一个 Ctrl+K 全局 撤销 Ctrl+Z 全局 复制 Ctrl+C 全局 恢复上一个选择 Alt+Shift+↓ 全局 剪切 Ctrl+X 全局 快速修正 Ctrl1+
2005-06-27 02:16:00 823
原创 Eclipse 资源
Eclipse 资源 一.介绍1.eclipse官方网站: http://www.eclipse.org2.赛迪网 http://tech.ccidnet.com/pub/series/s102.html3.Eclipse平台入门 http://www-900.ibm.com/developerWorks/cn/linux/opensource/os-ecov/index.
2005-06-27 02:15:00 957
原创 最好的Java程序员免费学习材料(English)
最好免费的Training 和Tutorials资源:Java Programming Resources 19 Free Java Courses from IBM Introduction to Programming Using Java -Full TOC -PDF version Studying for Java Certification on the Web Thinking I
2005-06-27 02:12:00 1162
原创 JAVA学习中应该注意的一些简单问题?
第一,谈谈final, finally, finalize的区别。 final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为fi
2005-06-27 02:10:00 886
原创 Java桌面应用程序设计新贵:SWT 简介
Java语言的声望和它在桌面应用程序(GUI程序)所取得的成就显然极不相符,至今仍然很少能看到非常成功Java桌面程序。虽然有JBuilder,Netbean,JProbe等大型软件作为代表,但这仍不能证明Java的GUI程序是成功的:它们的外观总是和同一操作系统平台下的其它软件显得格格不入。对机器配置的需求也似乎永无止境,这使得它们只能被一些总是拥有当前最高性能PC的程序员们所容忍,或是那些不在
2005-06-27 01:55:00 983
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人