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

来源:-

慕粉1473725030

2016-10-17 20:35

\\子类的代码

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回答

  • 愉悦混乱
    2016-10-18 02:22:41
    已采纳
    //父类的代码
     
    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);
        }
    }


    慕粉1473...

    非常感谢!

    2016-10-18 13:14:37

    共 1 条回复 >

  • 愉悦混乱
    2016-10-18 02:24:33
    //父类的代码
     
    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);
        }
    }


    奋斗小青年9...

    是语法的错误,方法内的变量属于局部变量。局部变量不能使用public和protected,private.static进行修饰,但可以使用final

    2016-10-23 09:22:08

    共 2 条回复 >

  • 愉悦混乱
    2016-10-18 01:59:17
    //父类的代码
    
    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+"岁");
        }
    }


  • 费小波
    2016-10-17 22:22:19

    把 public int age =20 放出来

    \\子类的代码

    package Numberten;

    public class Dog extends animal {

    public int age=20;

    public void eat(){

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

    }

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

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

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

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

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

    放出来应该可以运行



  • ziom
    2016-10-17 20:55:57

    哪行是第四行?截个图

    ziom 回复慕粉1473...

    这行不可能不让用public , 编译器提示的错误不一定就是对的

    2016-10-17 21:22:34

    共 2 条回复 >

  • 慕粉1473725030
    2016-10-17 20:52:33

    aaaa

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530559 学习 · 6091 问题

查看课程

相似问题