Java类的属性与方法要点

来源:互联网 发布:免费录音机软件下载 编辑:程序博客网 时间:2024/06/04 20:05

                                            类的属性与方法

        类的设计中,类的主要成分是:属性、方法、构造器,代码块、内部类五个主要构成要素.其中属性和方法是两个重要组成部分。

1. 属性

    变量的分类一:按照数据类型分:基本数据类型 (8种  vs 引用数据类型(类、接口、数组
 *   变量的分类二:照类中声明的位置分:成员变量   vs 局部变量

     属性(或成员变量)与局部变量关系
        相同点:1.满足变量的声明格式:变量的数据类型   变量名 = 变量值;
                      2.变量都一定的作用域。
                      3.变量需要先声明,后引用。
       不同点
               1.类中声明的位置不同。
 *                 成员变量 :直接声明在类中,方法等结构外。
 *                 局部变量:方法内、方法的形参、构造器内、构造器的形参、代码块内。
 *             2.成员变量可以声明权限修饰符,而局部变量不可以声明权限修饰符。
 *                  权限修饰符:private、缺省、protected、public
 *            3.成员变量可以不显示的赋值,那么意味着成员变量默认初始化值。
 *                  byte、short、int、long-->0
 *                  float、double -->0.0
 *                 char --> '\u0000' (或 0
 *                 boolean -->false
 *                引用数据类型 -->null
 * 
 *           4.局部变量需要在调用前,必须显式的赋值。局部变量没有默认初始化值(规定)。
 *           5.在内存中存储的位置不同:成员变量存在于堆空间中。局部变量:存在于栈空间
2. 方法的相关要点
 * 1. 举例:public void eat(){}
 *  public String getInfo(){}
 *  public void setName(String name){}
 *  public int addAge(int age,String info){}

 * 2. 方法的声明格式:权限修饰符  返回值类型  方法名(形参列表){
 * 方法体;
 * }

 * 3.  ①权限修饰符:private、缺省、protected、public。目前,大家定义方法可以都声明为public的。
 *      ②返回值类型:分类:void / 具体的变量类型
 *            如果返回值类型是具体的变量类型,那么必须在方法内部,以“return + 变量”的方式返回指定具体的变量类型的变量。void 与"return 返回值;"不可以同时出现一个方法内。像一对“冤家”。但如果单独 "return;"则可以,用来结束方法。
 *     ③方法名:遵循标识符的规则和规范;“见名知意”.比如:println();sort();binarySearch();copy();...
 *     ④形参列表:可以声明0个,1个或多个变量。如果声明多个变量,中间用","隔开

 *     ⑤方法体:方法的具体功能的体现。当调用方法时,执行方法体。

   4.说明:①在方法内部,可以调用当前类的属性、其它方法

 *              ②不能在方法内再定义方法,但是可以调用别的方法。

   5..方法的重载(overLord)的概念
        ①在一个类中,②相同方法名,③不同参数列表的多个方法间构成重载
              注意:①与方法的返回值,权限修饰符等没有关系(因为如果返回值不能帮助JAVA虚拟机判断调用的是不是               同一个方法。同理权限修饰符也是。)。
        ②参数列表不同包括:参数个数不同,参数类型不同

     构成重载的举例:
    //如下的个方法构成重载
public void getSum(int num1,int num2){
System.out.println(num1 + num2);
}

public void getSum(double d1,double d2){
System.out.println(d1 + d2);
}

public void getSum(double d1,double d2,double d3){
System.out.println(d1 + d2 + d3);
}

不构成重载的举例:
//不能存在
//public void getSum(int i1,int i2){
//System.out.println(i1 + i2);
//}

//int getSum(int num1,int num2){
//return num1 + num2;
//}

6.如何确定类中某一个方法的调用:①方法名 ②参数列表

7.方法中的可变形参个数

   1.  .使用说明:
 * 1.格式:变量类型 ... 变量名
 * 2.此方法在调用时,参数个数可以是0个,1个,或多个
 * 3.可变个数形参的方法不能与同类型数组参数的方法同时存在于一个类中
 * 4.
可变个数形参的方法与类中同名的方法构成重载
 * 5.若方法中存在可变个数的形参,可变个数形参必须声明为方法形参的最后一个参数
 * 6.一个方法的形参中,最多只能有一个可变个数的形参

  2.举例说明:
public void method(int num){
System.out.println(num);
}
public void method(String str){
System.out.println(str);
}
// public void method(String[] arr){  //
// for(int i = 0;i < arr.length;i++){
// System.out.println(arr[i]);
// }
// }
                               参数类型     参数名
public void method(String ... strs){  //相当于一个数组。
for(int i = 0;i < strs.length;i++){
System.out.println(strs[i]);
}
}
public void method(int num,String ...strs){

}

3.类的访问机制
     1.在一个类中的访问机制:类中的方法可以直接访问类中的成员变量,例外:static方法访问非static,编译不通过
     2.在不同类中的访问机制:先创建要访问类的对象,再用对象访问类中定义的成员。(例外:如果是调用

       类中的static的方法,可以不用创建对象,直接类名.方法名来调用。)      

4.JAVA的值传递机制   

1.概念
形参:方法在声明时的参数
实参:方法在调用时,实际传递给参数的变量、值

2.java参数传递机制:值传递 (即将实际参数值的副本(复制品)传入方法内,而参数本身不受影响)
       规则:如果传递的是基本数据类型的变量,那么将基本数据类型的变量的值传递过去。
                 如果传递的是引用数据类型的变量,那么将引用数据类型的变量的地址值传递过去

原创粉丝点击