作者pttnews (PTT新闻)
看板java
标题Re: [问题] 内部class可继承吗?
时间Wed Nov 28 15:08:23 2012
※ 引述《tsaiminghan (nahgnimiast)》之铭言:
: 有个class大约如下
: 外部class的funOut函式使用内部class的funcInner函式做事情。
: ----------------------------------------------
: public class out {
: private class inner{
: public void funcInner(){}
: }
: public void funOut(){
: inner i = new inner();
: i.funcInner();
: }
: }
: ----------------------------------------------
: 我的问题是现在继承了out物件,但是想改内部class
: 的funcInner的行为,这语法有没有支援?
: 我现在唯一会的就是把funOut和class inner全部复制到
: 新的class,然後修改funcInner,有比较好的写法吗?
应该可以吧~
class out {
private class inner{
public void funcInner(){
System.out.println("out.inner.funcInner");}
}
public void funOut(){
System.out.println("out.funOut");
inner i = new inner();
i.funcInner();
}
public out(){
System.out.println("out");
}
}
class out2 extends out {
public void funOut(){
System.out.println("out2.funOut");
super.funOut();
}
public out2(){
System.out.println("out2");
funOut();
}
}
public class Test {
public static void main(String[] args) {
System.out.println("1");
out o1 = new out();
System.out.println("2");
out2 o2 = new out2();
System.out.println("3");
}
}
输出
1
out
2
out
out2
out2.funOut
out.funOut
out.inner.funcInner
3
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.175.188
1F:→ byend:有创意..但跟原文解题目的好像不相干? 11/28 15:41
2F:→ pttnews:有干!证明 inner Class 可以继承使用 11/28 16:28
3F:推 PsMonkey:可以使用? 可以继承? 11/28 17:44
4F:推 LaPass:原PO是打算在继承的中class继承inner class 11/28 17:48
5F:→ pzyc79:很好你绕一圈呼叫了inner其中一个方法 但是继承只有这样吗? 11/28 21:20