面向对象02——关于方法重载的基础

  一、成员方法
  类成员主要包括两部分:成员变方法和成员变量


  1.方法重载(overloading)
       1.1 定义:
            方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数类型或参数个数。
       1.2 特点:(同名  不同参  返回值无关)
          (1)在同一个类中
          (2)方法名相同
          (3)参数的个数不同
                    类型不同
          (4)方法的返回值不能作为判断方法之间是否构成重载的依据


    2 .方法重载的使用
                简述:在方法形成重载之后,在对象的后面使用“ . ”时,显示可供选择的信息    
            例://Preson类
                public class Preson {
                    public String name;      //姓名
                    public String gender;    //性别
                    public int age;          //年龄

                    //无参方法
                    public  void work(){
                        System.out.println(this.name+"的工作是:经理");
                    }
                
                    //重载带参的方法
                    public void work(String job){
                       System.out.println(this.name+"的工工作是:"+job);
                    }
                }
            
                //PresonWork类
                class PersonWork {
                    public static void main(String[] args) {
                        Preson preson1=new Preson();  //实例化对象
                        preson1.name="张三";          //对象赋值
                        preson1.gender="男";
                        preson1.age=23;
                        preson1.work();                //调用无参方法
                        preson1.work("董事长");   //调用重载的有参方法
                    }

                }


        3.方法重载的优点
              方法重载其实是对原有方法的一种升级,可以根据参数的不同,采用不同的实现方法,而且不需要编写多个名称,简化了类调用方法的代码。
              
                            
二、成员变量与局部变量
  1.成员变量(全局变量)
      类中的属性,也就是直接在类方法中定义的变量成为成员变量,也叫全局变量,它定义在方法的外部。


  2.局部变量
      在方法中、方法的参数列表中、结构语句中定义的变量称为局部变量。


  3.成员变量与局部变量的区别
     (1) 作用域不同:
           局部变量的作用域仅限于定义它的方法,在该方法外无法访问它。
         成员变量的作用域在整个类的内部都是可见的,即所有的成员方法都可以使用它,如果访问权限允许,还可以在类的外部使用成员变量。
     (2) 初始值不同:
         对待成员变量如果类定义中没有给它赋予初始值,系统会给它一个默认值
            基本数据类型的默认值为0;
                 引用数据类型的默认值为null;
         局部变量不会被赋予初始值,因此局部变量必须要定义并赋值后再使用。
     (3) 是否可同名:
         在同一方法中,不允许有同名的局部变量;在不同的方法中是可以存在同名的局部变量。
         局部变量可以和成员变量同名,并且在使用时,局部变量具有更高的优先级。

三、构造方法
  1.构造方法的定义
    构造方法的主要作用是进行一些数据的初始化
    格式:
    [访问修饰符]方法名([参数列表]){
      //已省略方法体代码
    }


  2.构造方法的特点
      2.1 构造方法没有返回值,但也不是void
      2.2 .默认构造方法没有参数,因此参数列表可选
      2.3 构造方法的方法名与类名相同
  例:
        public class Preson{
        public String name;
            public Preson(){    //无参构造方法
            this.name="张三";   //给对象赋值
            }
       }
  注:1.如果没有自定义构造方法,系统会自动添加默认构造方法,默认构造方法没有参数,  即是默认构造方法是无参构造方法;
         2. 如果自定义了一个或多个构造方法,则系统不会自动添加默认构造方法


  3.构造方法的重载
      构造方法亦可重载,即在同一个类中可以定义多个重载的构造方法。
      例:
          public class Preson{
              public String name;      //姓名
              public String gender;    //性别
              public int age;          //年龄
            
             public Preson(){    //无参构造方法
                this.name="张三";   //给对象赋值
                this.gender="男";
                  this.age=21;
              }
            
               public Preson(String name,String gender,int age){    //带参构造方法
                   this.name;
                   this.gender;
                   this.age;
                  }
               }


  4.this关键字的使用
    定义:this关键字是对一个对象的默认引用。每个实例方法内部都有一个this引用变量,指向调用这个方法的对象。
    this使用实例:
    (1)使用this调用成员变量,解决成员变量和局部变量的同名冲突
        例:public void setName(String name){
                this.name=name;    //成员变量和局部变量同名,必须使用this
            }
            public void setNmae(String xm){
                name=xm;           //不同名,this可省略
            }
    (2)使用this调用方法
            public void play(int n){
                health=health-n;
                this.print();    //this调用同一类中的方法可以省略,不同类中的方法不能省
            }
    (3)使用this调用重载的构造方法,只能在构造方法中使用,且必须是构造方法的第一条语句
            public Preson (String naem,String sex){
                this.naem=name;
                this.sex=sex;
            }
            public Preson(String naem , String sex , int health , int love){
                this(name,sex);    //调用重载的构造方法
                this.health=health;
                this.love=love;
            }

四、总结
  学习方法重载所需要掌握的知识点

    1.了解掌握成员变量和局部变量的定义与作用域;

    2.熟悉掌握(无返回值,有返回值,无参,带参)方法的写法,并学会方法的重载;

    3.学会学定义构造方法,并理解构造方法的重载(后期常用);

    4.理解并熟悉关键字“this”的使用。

posted on 2018-12-17 16:00  s深宵x小夜郎  阅读(67)  评论(0)    收藏  举报

导航