黑马程序员技术交流社区
标题: 子类覆盖父类方法问题? [打印本页]
作者: jagon 时间: 2014-3-14 11:18
标题: 子类覆盖父类方法问题?
class A {
public void print() {
System.out.println("Hello World .") ;
}
}
class B extends A {
public void print() {
super.print() ;
System.out.println("天天向上!") ;
}
}
class C extends A{
public void print() {
super.print() ;
System.out.println("好好学习!") ;
}
public class Test {
public static void main(String args[]) {
B b = new B() ;
C c=new C();
b.print() ; // 是不是只要子类覆写了父类的方法,就一定都调用子类方法,请问有没有调用父类方法的其他情况?
c.print();
}
}
作者: 1014917278 时间: 2014-3-14 15:03
静态之后可以直接用类名来调用
作者: 松毛 时间: 2014-3-14 16:42
当父类方法被静态修饰时,就运行父类中的方法。
例如:
- class Fu
- {
- static void method4()
- {
- System.out.println("fu_method4");
- }
- }
复制代码- class Zi extends Fu
- {
- static void method4()
- {
- System.out.println("fu_method4");
- }
- }
复制代码- class DuoTaiDemo1
- {
- public static void main(String[] args)
- {
- Fu f = new Zi();
- f.method4(); //method4为静态,所以输入为左边父类中的方法;
- }
- }
复制代码
作者: syusikoku 时间: 2014-3-14 17:11
成员变量编译看左边,运行看右边。成员方法编译和运行都是看左边的。
作者: daoyua 时间: 2014-3-14 17:11
本帖最后由 daoyua 于 2014-3-14 17:13 编辑
子类如果和父类的方法相同,即重写了父类方法,就只会调用子类的,如果子类没有方法,就会调用父类的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |