易截截图软件、单文件、免安装、纯绿色、仅160KB

JAVA中方法和变量在继承中的覆盖和隐藏

http://renyanwei.javaeye.com/blog/258304
我们知道,在JAVA中,子类可以继承父类,如果子类声明的方法与父类有重名的情况怎么办,大伙儿都知道要是重写,但是实际上这又分为两种情况,就是方法和变量在继承时的覆盖和隐藏问题,这些概念性的东西看似无聊,但是在面试或者是SCJP认证题中围绕这些是会经常碰到的,所以这里来讨论下
首先我们来看几个概念
隐藏 :child隐藏了parent的变量和方法,那么,child不能访问parent被隐藏的变量或者方法,但是,讲B转换成A中,可以访问A被隐藏的变量或者方法
覆盖 :child覆盖了parent的变量或者方法,那么,child不能访问parent被覆盖的变量或者方法,将child转换成parent后同样不能访问parent被覆盖的变量或者方法
首先看一下JAVA中方法和变量在继承时的覆盖和隐藏规则
1.父类的实例变量和静态变量能被子类的同名变量隐藏
2.父类的静态方法被子类的同名静态方法隐藏
3.父类的实例方法被子类的同名实例变量覆盖
还有几点需要注意的是
1.不能用子类的静态方法隐藏 父类中同样标示(也就是返回值 名字 参数都一样)的实例方法
2.不能用子类的实例方法覆盖 父类中同样标示的静态方法
3.这点儿请注意,就是变量只会被隐藏 不会被覆盖 ,无论他是实例变量还是静态变量,而且,子类的静态变量可以隐藏 父类的实例变量,子类的实例变量可以隐藏 父类的静态变量
O(∩_∩)O哈哈~ 是不是有点儿绕口,没关系 我们看一个实例
创建两个父子类关系的类
//父类
class Parent
{
public static String kind="javastudy.extendsstudy.parent";
public static int age=50;
public String name="Parent";

//静态方法,返回包名
public static String getKind()
{
System.out.println("parent的getKind()方法被调用了");
return kind;
}

//静态方法,返回年龄
public static int getAge()
{
System.out.println("Parent的getAge()方法被调用了");
return age;
}

//实例方法,返回姓名
public String getName()
{
System.out.println("Parent的getName()方法被调用了");
return this.name;
}

}


//子类
class Child extends Parent
{
publ


相关文档:

Java NIO API详解

 
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......

使用Java反射机制得到类的结构信息

使用Java反射机制得到类的结构信息
关键字: java反射 类的结构
使用Java反射机制得到类的结构信息
代码如下:
Java代码
package com.youdao.wm;   
  
import java.lang.reflect.Constructor;   
import java.lang.reflect.Field;   
import jav ......

用Java程序获取绝对路径

     前一段做个程序,遇到了这样一个问题,想利用相对路径删掉一个文件(实际存在的),老是删不掉. 真是急人呀,最后让我费了好大力气才算把它解决掉,问题不防跟大家说说,万一遇到这样的问题,就不用再费劲了!
     情况是这样的:我的Tomcat装在了c盘,而我的虚拟目录设在了E ......

think in java ch6

-------------------------------------------------
本教程由yyc,spirit整理
------------------------------------------------- 第6章 类再生
“Java引人注目的一项特性是代码的重复使用或者再生。但最具革命意义的是,除代码的复制和修改以外,我们还能做多得多的其他事情。”
在象C那样的 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号