首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

能通过子类对象向上转型为父类对象调用父类static final修饰的方法吗?该如何解决

2012-01-15 
能通过子类对象向上转型为父类对象调用父类static final修饰的方法吗?class Ghu {/** * @param args */pri

能通过子类对象向上转型为父类对象调用父类static final修饰的方法吗?

class Ghu {

/**
* @param args
*/
private final void kis() {
  System.out.println("hello");
 }
 class ABC extends Ghu{
  public final void kis(){
  System.out.println("javac");
}
}
  public class Abcd{
public void main(String[] args) {
// TODO Auto-generated method stub
  ABC abc=new ABC();
  abc.kis();
  Ghu ab=abc;/*将子类对象向上转型为父类对象*/
  ab.kis();
   
   
   
}

}


[解决办法]
ab调用的就是父类的kis

而abc调用的就是子类的kis
[解决办法]
你父类的方法是私有的 怎么可以访问啊
[解决办法]
应该不能访问吧,
Ghu ab=abc;/*将子类对象向上转型为父类对象*/
这里的ab还是指向子类ABC的对象啊,不好访问父类的私有方法的。

lz代码都写完了,试一下不就知道结果了。
[解决办法]
楼主的代码有问题啊
1.ABC是非静态内部类 不能如此实例化吧 必须要父类的实例才行
2.私有的方法只能在类内部访问吧 外部怎么能访问

[解决办法]
代码有问题啊 。 子类是不能继承父类私有方法的!
[解决办法]
看, static 都没找到,问题与标题不符。
[解决办法]
不 final 是常量 是不能更改的意思 意思就是说 
 子类继承父类的这个方法 是不能被修改的
 

[解决办法]
楼主的 main 方法是在子类中的,子类中不能调用父类的私有方法
[解决办法]
不用转什么都可以用 

也就是说 可以转!
 但你写的 代码有错误
[解决办法]
记住static的方法是不存在多态的概念的

不要用“对象.静态方法”的方式访问,而一直坚持使用“类名.静态方法”的方式调用就不会出错
[解决办法]
你没搞错吧!

把继承写在内部类!

内部类可以访问外部类的一切属性(包括私有的)!



[解决办法]

探讨
class Ghu {

/**
* @param args
*/
static final void kis() {
System.out.println("hello");
}
}
class ABC extends Ghu{
public final void k(){
System.out.println("javac");
}
}
publ……

热点排行