我自己写了一个小程序想看看this关键字是否起了作用,编译的时候出了问题。

程序很简单,就是输出语句。如下:

class Mother //基类
{
public void mothertest() //基类中的一个方法
{
System.out.println("I am mother."); //输出一个语句
}
}

public cla

展开全部
收起
6回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Samantha栗子

    15人对此回答表示赞同

    牛人。。
    展开
    15
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Jonathan

    14人对此回答表示赞同

    当然错了。因为main是一个static方法,不能访问类中的非static方法。super.mothertest()是非static方法所以不能访问。

    同时静态方法也不能访问非静态变量super关键字只能用于非静态方法中。

    你可以改Daughter类添加一个方法

    public void super_mothertest(){
    super.mothertest();
    }

    然后原来的main函
    展开
    14
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Jerry不怕猫

    7人对此回答表示赞同

    不能在静态方法中使用super
    展开
    7
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Eren Lau

    7人对此回答表示赞同

    super.mothertest(); 这个是什么啊??
    展开
    7
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 周文轩

    6人对此回答表示赞同

    super不是这么用的,因为super不是一个static全局变量(对象),只能在非static方法中使用!

    就错在这一行:
    super.mothertest(); //想通过super关键字来调用基类中的方法

    同样的 super改成this肯定也不行!
    因为main方法不认识这两个对象~
    展开
    6
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 醉酒盛唐

    2人对此回答表示赞同

    super是在object里定义的,他不是一个static对象,mian()是一个static方法,在static方法中是不能调用非static变量或对象的。
    建议你在Daughter类中写一个方法,用来调用父类的方法.也可以在子类重写mothertest()方法时,用super调用父类的mothertest()方法.
    展开
    2
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部