• 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();
    
            
        }
    
    }

  • 相关阅读:
    iOS开发UIKit框架-可视化编程-XIB
    ios swift例子源码网址总结
    两个单链表相交问题
    库函数atoi
    C++类型萃取
    【Swift】iOS导航栏错乱的原因
    【Swift】iOS裁剪或者压缩后出现的白边问题
    Linux进程调度分析
    【scala】可变与不可变的理解
    【scala】模式匹配
  • 原文地址:https://www.cnblogs.com/sjxx/p/5146921.html
Copyright © 2020-2023  润新知