我认为是不管是成员变量还是成员函数,子类都会从父类类中继承。
但是,如果在子类中重新定义和父类一样的成员(包括成员变量和成员函数),就相当于覆盖了。
所以说子类中可以有和父类相同的成员变量,成员方法也是可以的
- class fu
- {
- int num = 3;
- public void add()
- {
- System.out.println("fu:"+(num+1));
- }
- }
- class zi extends fu
- {
- int num = 4;//覆盖了父类中的成员属性
- public void add()//覆盖了父类中的方法
- {
- System.out.println("zi:"+(num+2));//方法主体和父类不同
- }
- }
- class Test2
- {
- public static void main(String[] args)
- {
- System.out.println("Hello World!");
- new zi().add();//会调用zi类中的num(4)和子类的方法num+2
- }
- }
复制代码
运行结果是:
zi:6 |