为了账号安全,请及时绑定邮箱和手机立即绑定

红框内的代码直接挪到方法外就会报错就什么原因?父类的变量只能在子类方法中使用?

/ 猿问

红框内的代码直接挪到方法外就会报错就什么原因?父类的变量只能在子类方法中使用?

枫葉 2018-09-04 23:30:25

https://img3.sycdn.imooc.com/5b8ea351000158c207250635.jpg

查看完整描述

4 回答

已采纳
?
皮县豆福脑

构造函数调用必须是构造函数中的第一个语句,所以写法应为:

super("kittv");
name = "hello";

而子类方法继承父类方法时,不需要public修饰,写法为

class test extends Parent{
    public test(String Name){
        super("kittv");
        name = "hello";
    }
}

你提到的红框代码移到外面,其实是让变量name失去了类型,你加上String,int随便一个类型就不会报错了。

class test extends Parent{
    String name = "hello";
    public test(String Name){
        super("kittv");
    }
}
查看完整回答
反对 回复 2018-09-05
?
Lawrence

你放外面变成要定义一个name了啊,你不可能在那块改变name的啊,你在子类能访问到name是因为你子类没有定义name,所以自己找到了父类的name变量,放外面的话尝试写成super.name=…看看?

查看完整回答
反对 回复 2018-09-05
  • 枫葉
    枫葉
    String str=super.name;这样是可以的,但是super.name="ss";这样就会报错
  • 枫葉
    枫葉
    不过在方法内super.name="ss";是可以的
  • Lawrence
    Lawrence
    哦哦,好的,知道了

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信