类继承

package projict05;

//子类继承父类时,会自动调用父类的构造器,默认情况下,调用无参构造器
//如果父类没有无参构造,则显示调用有参构造
//子类可以继承父类的所有属性和方法(private除外)
//子类可以扩展(增加)父类的属性和方法
//子类可以重写父类的属性和方法

public class test18 {
    public static void main(String[] args){
//        MyDog d=new MyDog();
//        System.out.println(d.name);
//        d.sleep();//继承父类的方法
//        d.eat();//重写父类的方法
//        d.play();//扩展父类的方法
        
        MyDog d=new MyDog("mylove");
        System.out.println(d.name);
        d.sleep();//继承父类的方法
        d.eat();//重写父类的方法
        d.play();//扩展父类的方法
        
        
        
    }

}

class MyAnimal{
    String name="animal";
    private String food="meat";
    
//    public MyAnimal() {
//        System.out.println("myAnimal class");
//    }
    
    public MyAnimal(String str) {
        System.out.println("myAnimal class " +str);
    }

    public void sleep() {
        System.out.println("animal sleep");
    }
    public void eat() {
        System.out.println("animal eating");
    }
    
    
}

class MyDog extends MyAnimal{
    //显示的调用父类的有参构造
    public MyDog (String str) {
        super(str);
        System.out.println("mydog class "+str);
    }
    //重写父类的属性
    String name="dog";
    //重写父类的方法
    public void eat() {
            System.out.println("dog eating");
        }
    
    //扩展父类的属性
    int age=3;    
    //扩展父类的方法
    public void play() {
        System.out.println("dog playing");
    }
    
    
}

 

posted on 2020-05-21 11:27  happygril3  阅读(127)  评论(0)    收藏  举报

导航