zoukankan      html  css  js  c++  java
  • 方法重载、方法重写、构造方法的含义及使用 方法重载、方法重写、构造方法的含义及使用

    1.什么是方法重载

      a.方法重载是静态多态,是编译时的多态

      b.发生在一个类里面,方法名相同,但参数个数或种类不同的方法之间的联系方式,称之为方法重载

      c.使你的程序变的更灵活

      代码示例演示:

      

    /**
     * Created by Pres_cheng on 2016/8/25.
     * 方法重载演示
     */
    public class Caculator {
        public int add(int x, int y) {
            return x + y;
        }
    
        public int add(int x, int y, int z) {
            return x + y + z;
        }
    
        public float add(float x, float y) {
            return x + y;
        }
    
        public int add(int... value) {
            int temp = 0;
            for (int i=0; i<value.length; i++){
                temp+=value[i];
            }
            return temp;
        }
    
        public static void main(String[] args) {
            //实例化Caculator对象
            Caculator caculator = new Caculator();
            System.out.println(caculator.add(1, 2));
            System.out.println(caculator.add(1, 2, 3));
            System.out.println(caculator.add(1.2f, 2.3f));
            System.out.println(caculator.add(1, 2, 3, 4, 5, 6, 7, 8, 9, 10));
        }
    }

    2什么是.方法重写

      a.方法重写是动态多态,是运行时多态

      b.发生在父子类之间,子类覆盖父类方法,覆盖后子类的方法和父类的方法名相同、参数的个数及类型相同。这种关系称为方法重载。

      代码示例演示:

      Car类

      

    public class Car {
        public void run (){
            System.out.println("car run");
        }
    }

      Motorcycle类

      

    public class Motorcycle extends Car{
        @Override
        public void run() {
            System.out.println("motorcycle run");
        }
    }

      Bicycle类

      

    public class Bicycle extends Car{
        @Override
        public void run() {
            System.out.println("bicycle run");
        }
    }

      Main类

      

    public class Mian {
        public static void main (String []args){
            Car car =new Car();
            car.run();
    
            Motorcycle motorcycle = new Motorcycle();
            motorcycle.run();
    
            Car bicycle = new Bicycle();
            bicycle.run();
        }
    }

     3.什么是构造方法

      a.构造方法是类中特有的方法,在实例化对象时可以直接调用此方法

      b.构造方法可以是:默认构造方法,自定义构造方法

      c.构造方法和普通方法的调用顺序:如果实例化该类,先调用构造方法,在调用普通方法

      代码示例演示:

      People类

      

    public class People {
        private String name;
        private int age;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public static void talk(){
            System.out.println("people talk");
        }
    
        public void run(){
            System.out.println("people run");
        }
    
        //默认构造方法
        public People(){
            System.out.println("default People");
        }
        //自定义构造方法
        public People(String name,int age){
            System.out.println("custom People");
            this.name =name;
            this.age = age;
    
        }
    }

      Main类

      

    public class Main {
        public static void main(String[] args) {
            //调用默认构造方法
            People people =new People();
            //调用自定义构造方法
            People people1 =new People("pres_cheng",22);
            //通过接口获取封装的name,age属性值
            System.out.println(people1.getName());
            System.out.println(people1.getAge());
            //调用静态方法,特殊:静态方法可在构造方法之前调用
            People.talk();
            //调用普通方法
            people.run();
        }
    }
     
  • 相关阅读:
    component
    js的for循环中DOM变化不了,在循环结束才起效的问题
    mongodb 遇见不可行
    vue.js中$emit的理解
    最近前端关键词-模块化、前后端分离、单页面应用
    webpack的使用1
    一维数组的声明和使用
    ASP.net中的几种分页方法
    各种排序及原理
    数据结构-算法
  • 原文地址:https://www.cnblogs.com/prescheng/p/5808250.html
Copyright © 2011-2022 走看看