zoukankan      html  css  js  c++  java
  • JAVA类与对象(四)----成员变量与局部变量 、成员方法、构造方法

    类体中的变量分为两部分。变量定义部分定义的变量为类的成员变量,在方法体中定义的变量和方法中涉及的变量称为局部变量。

    成员变量和局部变量的区别:

    (1)、成员变量在整个类中都有效,局部变量只在定义它的方法中有效

    (2)、成员变量分为实例成员变量(简称实例变量)和类变量(简称静态变量),如果在成员变量类型前加static,这个变量就称为类变量。

    (3)、如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏 ,也就是说,这个成员变量在这个方法中暂时失效。

    例:

    public class Benson{

      int x=100,y;

      void f(){

        int x=10;

        y=x;  //这里的y得到的值是10,而不是100

      }

    }

    注意:如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏,这是如果想在该方法内使用成员变量,必须使用this关键字。

    例:

    public class Employee{

      int sideA,sideB,sideC;

      void setSide(int sideA,int sideB,int sideC){

        this.sideA=sideA; this.sideB=sideB;this.sideC=sideC;

      }

    }

    方法声明包括方法名、返回类型和外部参数。其中参数的类型可以是简单数据类型,也可以是复合数据类型(又称引用数据类型)。

    对于简单数据类型来说,实现的是值传递,方法接收参数的值,但不能改变这些参数的值。如果要改变参数的值,则用引用数据类型,因为引用数据类型传递给方法的数据在内存中的地址。

    例:

    public class PassTest{
        float ptValue;
        public void changeInt(int value){
            value=55;//在方法中对参数进行修改
        }
        public void changeObject(PassTest pt){
            pt.ptValue=88;///在方法中对引用参数进行修改
        }
    
        public static void main(String argsp[]){
            int val=11;
            System.out.println("初始值:"+val);
            PassTest pt=new PassTest();
            pt.changeInt(val);//值传递
            System.out.println("值传递后:"+val);
            pt.ptValue=99;
            System.out.println("初始值:"+pt.ptValue);
            pt.changeObject(pt);
            System.out.println("引用传递后:"+pt.ptValue);    
        }    
    }

    构造方法是一个特殊的方法。java中每个类中都有构造方法,用来初始化该类的一个对象。构造方法具有和类名相同的名称,而且不返回任何数据类型。同时,构造方法也可以重载。构造方法只能用new操作符调用,当类创建对象的时候使用构造方法。

    例:

    class Point{

      int x,y;

      Point(){

        x=0;y=0;

      }

      Point(int x,int y){

        this.x=x;this.y=y;

      }

    }

  • 相关阅读:
    【原创】Apache ab结果参数详解
    【转载】QPS,用户平均等待时间,服务器平均请求处理时间
    【原创】Apache ab测试时出现:apr_socket_recv "connection reset by peer" 104
    【做题】Codeforces Round #429 (Div. 2) E. On the Bench——组合问题+dp
    oracle递归查询
    http1.0和1.1的区别
    here with you
    spring杂碎
    西海情歌
    //随机生成 10到20条数据 数据包含 用户名(5-10位的字母) 性别 年龄(1-100岁)
  • 原文地址:https://www.cnblogs.com/scf141592/p/5721401.html
Copyright © 2011-2022 走看看