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

第四行代码为什么不能用public

\\子类的代码

package Numberten;


public class Dog extends animal {

public void eat(){

public int age=20;

System.out.println("狗晓吠");//n 

}



public void method(){

System.out.println(super.age);

}

}

//父类的代码

package Numberten;


public  class animal {

public int age=10;

public String name;

public void eat(){

System.out.println("具有了吃东西的能力");

}


}


正在回答

6 回答

//父类的代码
 
package Numberten;
 
 
public  class animal {
 
    public int age=10;
 
    public String name;
 
    public void eat(){
 
        System.out.println("具有了吃东西的能力");
 
    }
 
 
}
 
 
//子类的代码
 
package Numberten;
 
 
public class Dog extends animal {
    public int age=20;
    public String name="大黑";
 
    public void eat(){
 
    System.out.println("狗晓吠");//n 
    }
}
 
 
//测试代码
public class Cheshi{
    public static void main(String [] args){
        Dog dog=new Dog();
        int a=dog.age;
        int n=dog.name;
        dog.eat();
        System.out.println("年龄:"+a+"岁");
        System.out.println("名字:"+n);
    }
}


0 回复 有任何疑惑可以回复我~
#1

慕粉1473725030 提问者

非常感谢!
2016-10-18 回复 有任何疑惑可以回复我~
//父类的代码
 
package Numberten;
 
 
public  class animal {
 
    public int age=10;
 
    public String name;
 
    public void eat(){
 
        System.out.println("具有了吃东西的能力");
 
    }
 
 
}
 
 
//子类的代码
 
package Numberten;
 
 
public class Dog extends animal {
    public int age=20;
    public String name="大黑";
 
    public void eat(){
 
    System.out.println("狗晓吠");//n 
    }
}
 
 
//测试代码
public class Cheshi{
    public static void main(String [] args){
        Dog dog=new Dog();
        int a=dog.age;
        String n=dog.name;
        dog.eat();
        System.out.println("年龄:"+a+"岁");
    System.out.println("名字:"+n);
    }
}


0 回复 有任何疑惑可以回复我~
#1

奋斗小青年974

你是语法的错误。子类继承父类的属性,与构造方法。面向对象程序设计中,自定类内部,一般先进行属性的声明,再构造方法的声明。再看具体的需求,是否声明方法。注意这三个都是单独声明。当然你可以通过构造方法对类的属性进行初始化。
2016-10-23 回复 有任何疑惑可以回复我~
#2

奋斗小青年974

是语法的错误,方法内的变量属于局部变量。局部变量不能使用public和protected,private.static进行修饰,但可以使用final
2016-10-23 回复 有任何疑惑可以回复我~
//父类的代码

package Numberten;


public  class animal {

    public int age=10;

    public String name;

    public void eat(){

        System.out.println("具有了吃东西的能力");

    }


}


//子类的代码

package Numberten;


public class Dog extends animal {
    public int age=20;

    public void eat(){

    System.out.println("狗晓吠");//n 
    }
}


//测试代码
public class Cheshi{
    public static void main(String [] args){
        Dog dog=new Dog();
        dog.age;
        dog.name;
        dog.eat();
        System.out.println("年龄:"+dog.age+"岁");
    }
}


0 回复 有任何疑惑可以回复我~

把 public int age =20 放出来

\\子类的代码

package Numberten;

public class Dog extends animal {

public int age=20;

public void eat(){

System.out.println("狗晓吠");//n 

}

这样你试一下   你是想把父类的变量  重新赋值吧?

那么把变量 放在方法之外。

因为 :子类继承父类的变量 与方法。

变量是变量 ,方法是方法。

你把继承的变量放到继承的方法里去了。

放出来应该可以运行



0 回复 有任何疑惑可以回复我~

哪行是第四行?截个图

0 回复 有任何疑惑可以回复我~
#1

慕粉1473725030 提问者

public int age=20;就是这一行
2016-10-17 回复 有任何疑惑可以回复我~
#2

ziom 回复 慕粉1473725030 提问者

这行不可能不让用public , 编译器提示的错误不一定就是对的
2016-10-17 回复 有任何疑惑可以回复我~

aaaa

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

第四行代码为什么不能用public

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信