关于java中的this用法
不是说this指的是当前对象吗。可为什么Fish类中的this能指Animal中的name,age变量呢?Fish类中的this指的不应该是Fish的对象吗。发错了,改一...
不是说this指的是当前对象吗。可为什么Fish类中的this能指Animal中的name,age变量呢?Fish类中的this指的不应该是Fish的对象吗。
发错了,改一下,Animal类中的两个private修饰符改为 protected修饰符。其他一样 展开
发错了,改一下,Animal类中的两个private修饰符改为 protected修饰符。其他一样 展开
2个回答
展开全部
不是吧 你这应该是报错的吧!!!Animal中的变量都私有了 不能继承下来的 Fish中怎么会有this.name 和this.age
追问
不好意思,截图截错了,其实我想问的是Animal中,用protected修饰的时候
追答
你可以初始化 尝试一下啊 把animal中的name age 和继承过来的name age 都在构造中初始化了 然后做个测试类 就知道你想要的答案了
我给你个例子
package test;
public class Animal {
public String name;
public int age;
Animal(){
this.name="Animal";
this.age=11;
}
}
package test;
public class Fish extends Animal {
Fish(){
//super();不写默认是这样的
}
Fish(String name,int age){
this.name="Fish";
this.age=12;
}
public static void main(String[] args) {
Fish fish=new Fish();
//我估计你的误区在这里吧???你调用是空参构造 所以出来的是父类初始化中的属性
System.out.println(fish.name);
Fish fish1=new Fish("11",100);
//这里就证明的this是当前对象的引用了
System.out.println(fish1.name);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询