本帖最后由 陈中岩 于 2013-4-13 06:52 编辑
- class A{
- int x;
- void show()
- {
-
- }
- }
- /*你的问题
- *1,应该是B继承A,而不是class B extends B
- */
- public class B extends A{
- /*问题2,
- *因为x不是静态的,所以不能直接调用
- */
- //int x;
- static int x;
-
- public static void main(String args[]){
-
- /*问题2,
- *因为x不是静态的,所以不能直接调用
- */
- x=2;//调用的B里面的x
- super.x=2;//我想调用父类的x,为什么编译器显示错误,该怎么改?先谢谢了!
- //这块的问题我就不知道了,我只知道子类可以调用方法,我不知道可以这么调用成员变量
- //子类中的int x;已经覆写掉了父类中的 int x;所以想调用父类中的x,可以这么调用
- B b = new B();
- b.x = 2;
- }
- }
复制代码
- //顺便说一句,个人感觉你问的问题有点模糊,为了便于您对extends更好的理解,我贴出个人的笔记
- class Fu
- {
- int num = 4;
- void show(){
- System.out.println(this.num);
- }
- }
- class Zi extends Fu
- {
- int num = 5;//如果子类中没有这句,那么num将去寻找父类中的num
- void show(){
- System.out.println(this.num);
- }
-
- }
- class ExtendsDemo4 {
- public static void main(String[] args)
- {
- Zi z = new Zi();
- z.show();//这里输出的是5,因为子类覆写了父类中的方法
- //想调用父类中的方法,创建一个父类对象,然后调用父类中的方法
- Fu f = new Fu();
- f.show();
- }
- }
复制代码 |