谈谈Java继承中的重载,覆盖和隐藏
谈谈Java继承中的重载,覆盖和隐藏
好久不写博客了,距离上一篇已经过了两年多了。这两年在干嘛,总之一年难尽!
前一段时间忙了两个月,忙着研究和做一些SSH架构的东西,两个月下来,收获颇丰,最近闲下来了,于是就痛快的开始玩游戏,但是不知怎么地,怎么玩都没意思,于是决定开始再好好研究研究Java吧。于是大概翻了翻《Thinking in Java》。
还是觉得把心得写下来比较好,一方面加深理解,另一方面,年纪大了,记性不好了,记不住关键的,“好记性不如烂笔头”,更何况我记性不好呢?写博客是为了自己学习使用,前几天看到自己博客里的文章在别的网站或者别人的博客转载还不写出处,于是心理不舒服,所以强调一下,转载请注明出处-即转载自handsomerun的CSDN博客。
好,切入正题,差不多4年前,写过一篇《谈谈C++继承中的重载,覆盖和隐藏》(http://blog.csdn.net/handsomerun/archive/2006/04/23/674210.aspx),同样目的也是为了加深自己的理解,我是一个很喜欢C/C++的人,学习Java的时候,就不由得和拿Java和C++进行比较,和写C++的那篇姐妹篇一样,还得先把定义翻译一下:重载(overload),覆盖(override),隐藏(hide)。我看一本翻译过来的《Thinking in Java》的时候,看到他把override翻译成重载很是郁闷,所以,很多时候,结合英文版以及侯捷版一起看。
1. Java中没有隐藏
在《谈谈C++继承中的重载,覆盖和隐藏》中,我给出了隐藏的定义。但是Java根本就没有这个隐藏的概念,基类中的函数,会继承下来,和继承类中的同名函数,一起成为继承类的重载函数。
请看例子:
class CB {
public void f(){
System.out.println("CB::f()");
}
}
class CD extends CB {
public void f(int a){
System.out.println("CD::f(int)");
}
}
public class MyTest {
public static void main(String args[])
{
System.out.println("helloWorld");
CD test = new CD();
test.f();
test.f(1);
相关文档:
写给比我还新的新手们,如果选择了这行,就耐心的读下去。
1,不要总说“编不出来”,“不会编”之类的话,那些话是因为你自己懒,不想编,不想学而已。
2,不要能开发点小程序就出去显摆,你只不过是用别人给你写好的东西而已。
3,不要太执着的盯着API,JAVA的精华在于编程思路跟模式,而不是已经 ......
1.String str = new String("abc"); 请问定义了几个对象。定义了两个对象,一个"abc", 一个是new String().<String s = "abc";首先到堆中查找值为"abc"的对象,没有就新建一个对象,"abc"本身就是一个对象。>
2.面向对象的东西:abstract & interface的各自的作用,区别。
3.面向对象的特征,以及怎么实现的。1 ......
在java中要读取pdf文件内容,我们可以借助第三方软件实现。常用的是xpdf,本文就简单介绍在linux下如何安装xpdf,及在java中如何利用xpdf读取pdf文件内容。
一.安装xpdf
在fc系列下,不用安装,可以直接yum,但是笔者建议还是下载安装的好,因为笔者曾经碰到过这样的问题,客户服务 ......
首先要有jxl类库。
程序如下:
import java.io.*;
import jxl.*;
public class ExcelToSql {
public static void main(String args[])
{
try
{
Workbook book= Workbook.getWorkbook(new File("D:\\workspaceuse6\\foundation\\test\\com\\gres ......