java中关于继承中隐藏父类的方法

wslkn 2011-09-08 02:59:26
super可以访问父类中被隐藏的方法吗
我写的这个程序是覆盖还是还是隐藏啊
package hide;

class ex
{
public static void print(){
System.out.println("asdf");
}

}


class ex2 extends ex
{
public void l()
{
super.print();
}
public static void print()
{
System.out.println("asdf1");
}

}


public class ex1
{
public static void main(String[] args)
{
ex l =new ex();
ex2 l1=new ex2();
l.print();
l1.print();
l1.l();
l=l1;
l.print();


}
}
...全文
506 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
shupo 2011-09-09
  • 打赏
  • 举报
回复
隐藏了自然无法覆盖了
qybao 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wslkn 的回复:]
引用 4 楼 qybao 的回复:
static方法没有所谓的隐藏或覆盖,属于类级别的
通过类名就能访问了

不是吧,我看书上把子类中和父类同名的静态方法分为隐藏这一类,把实例方法分为覆盖这一类
[/Quote]
请参看8L的例子
ex x =new ex2();
x.print();
打印的会是asdf

在编译阶段,编译器只知道x是个ex类型,至于运行期x指向的是什么子类对象,编译器并不知道
所以x.print的时候,编译器会帮定ex类的print方法,也就说LZ所谓的父类方法,那么又哪来的隐藏?
liuyuhua0066 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wslkn 的回复:]
引用 4 楼 qybao 的回复:
static方法没有所谓的隐藏或覆盖,属于类级别的
通过类名就能访问了

不是吧,我看书上把子类中和父类同名的静态方法分为隐藏这一类,把实例方法分为覆盖这一类
[/Quote]
一定要如此分类也可以理解。隐藏了自然无法覆盖了。
wslkn 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qybao 的回复:]
static方法没有所谓的隐藏或覆盖,属于类级别的
通过类名就能访问了
[/Quote]
不是吧,我看书上把子类中和父类同名的静态方法分为隐藏这一类,把实例方法分为覆盖这一类
brightyq 2011-09-08
  • 打赏
  • 举报
回复
1、父类的static方法不能被子类覆盖,如果是实现多态,不要声明static
楼主执行
ex x =new ex2();
x.print();
打印的会是asdf

2、如果要访问父类的static方法,可以用类名.方法。因为static说到底还是属于类的。
wslkn 2011-09-08
  • 打赏
  • 举报
回复
那父类中的这个方法是被隐藏了吧?父类中被隐藏的方法在子类中不是不可用了吗?
qybao 2011-09-08
  • 打赏
  • 举报
回复
static方法没有所谓的隐藏或覆盖,属于类级别的
通过类名就能访问了

dzr1990 2011-09-08
  • 打赏
  • 举报
回复
父类的方法在父类中没有被覆盖,因为子类本身就具有父类的方法,只能说在子类中父类的方法被覆盖了,但是在父类中这个方法还是这个方法。

因为在父类里面这个方法没有变,所以super.print()还是原来的方法。
wslkn 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liuyuhua0066 的回复:]
super三种用法:
a.访问父类隐藏的成员变量,如 super.变量名
b.调用父类中被覆盖的方法,如 super.方法名(参数表)
c.调用父类构造器,如 super(参数表)
[/Quote]
这个程序中方法public static void print()是被隐藏了还是被覆盖了?
如果是被隐藏了为什么可以用super调用?
liuyuhua0066 2011-09-08
  • 打赏
  • 举报
回复
super三种用法:
a.访问父类隐藏的成员变量,如 super.变量名
b.调用父类中被覆盖的方法,如 super.方法名(参数表)
c.调用父类构造器,如 super(参数表)

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧