0120 父类与子类创建、重写及转型练习

 1.创建一个父类,在父类方法中创建两个方法,在子类中覆盖第二个方法,为子类创建一个对象,将他向上转型到基类并调用这个方法

            通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为父类,也就是基类。

public class Jicheng {

    Jicheng(){        //默认构造方法
        System.out.println("fulei");
    }
    public void fangfa1(){
        System.out.println("父类方法1");
    }
    public void fangfa2(){     //成员方法
        System.out.println("父类方法2");
    }
    
}
public class cheng extends Jicheng {


    cheng(){              //默认构造方法
        System.out.println("zilei");
    }
    
    public void fangfa2(){       //重写父类成员方法
        System.out.println("子类方法");
    }
    
    
    public static void main(String[] args){ 
        
        //Jicheng a = new Jicheng();    //创建Jicheng的对象并为其分配内存
        
    System.out.println("调用的是:");
    
    Jicheng a = new cheng();  //向上转型
    
    a.fangfa2();      //调用方法(由结果可以看出调用的是子类方法)
    
    }

2.创建一个父类和子类,分别创建构造方法,然后向父类和子类添加成员变量和方法,并总结构建子类对象时的顺序

public class Fl {

    public Fl(){
        System.out.println("父类默认构造函数");
    }
    
    private String food;
    public Fl (String food){
        this.food = food;
    }
    
    private String drink;
    public String getFood() {
        return food;
    }

    public void setFood(String food) {
        this.food = food;
    }

    public String getDrink() {
        return drink;
    }

    public void setDrink(String drink) {
        this.drink = drink;
    }
    
    
    public void man(){
        System.out.println("父类方法");
    }
    
}
public class Zl extends Fl {

    public Zl(){
        System.out.println("子类默认构造函数");
    }
    
    public void men(){
        System.out.println("子类方法");
    }
    
    private String water;
    
    public String getWater() {
        return water;
    }

    public void setWater(String water) {
        this.water = water;
    }

    private int apple;
    
    
    public int getApple() {
        return apple;
    }

    public void setApple(int apple) {
        this.apple = apple;
    }

    public void hungry(){
        System.out.println("子类的方法");
    }

    public static void main(String[] args) {
        
        Fl fl = new Fl();
        fl.setFood("面包");
        fl.setDrink("牛奶");
        
        Zl zl = new Zl();
        zl.setApple(4);
        zl.setWater("一杯水");
        
        System.out.println("父类成员变量:"+fl.getDrink()+"   "+fl.getFood());
        System.out.println("成员变量:"+zl.apple+"   "+zl.water);
        System.out.println("调用的是:");
        
        fl.man();
        zl.hungry();

        
    }

}

原文地址:https://www.cnblogs.com/sjxx/p/5146921.html