能通过子类对象向上转型为父类对象调用父类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的方法是不存在多态的概念的
不要用“对象.静态方法”的方式访问,而一直坚持使用“类名.静态方法”的方式调用就不会出错
[解决办法]
你没搞错吧!
把继承写在内部类!
内部类可以访问外部类的一切属性(包括私有的)!
[解决办法]