5.2类与对象---对象和C语言中的指针变量的比较

package com.classobject.object;
public class StudentCard { //定义学生证

/*1---类中数据成员的定义---*/
//在Java语言中,如果没有对成员属性或者成员方法的---访问权限做明确规定,则默认为他们为私有的数据成员---private
String name;                //定义数据成员:姓名--private String name;
String sex;                 //定义数据成员:性别--private String sex;
String origin;              //籍贯
int studentNumber;          //学号


/*2--类中成员方法的定义----*/
public void printStudent(){ //定义成员方法:输出学生证信息
    System.out.println("name:"+name);
    System.out.println("sex:"+sex);
    System.out.println("origin:"+origin);
    System.out.println("studentNumber:"+studentNumber);
}
public String getSex()      //定义成员方法:取出学生的性别信息
{
    return sex;
}

}
//1—这个例子说明:
//—-StudentCard aStudent;———这条代码语句—相当于定义了一个–“指针变量”,它拥有四个字节的空间,但是没有存储任何地址常量,这个“指针变量”aStudent存于栈空间中
//—-aStudent=new StudentCard();—这条语句—相当于用–new关键字—在内存空间中开辟了StudengCard这样一个类型大小的空间,并且把—空间的首地址赋给了—aStudent
//—-这个“指针变量”
//2—指针变量—就以一个用来存储“地址常量”的内存空间
//3—java中的引用类型—-就相当于—–C语言中的指针变量
package com.classobject.object;
public class StudentCardTest{ //定义测试类

/*1---这是整个类的主方法,也是整个程序执行的入口处---*/
public static void main(String args[])
{
    StudentCard aStudent;           //1--定义一个学生对象,但是此对象现在没有内存空间
    aStudent=new StudentCard();     //2--通过new这个运算符,实例化一个学生对象,为对象分配内存空间
    /*3--为数据成员---赋值*/
    aStudent.name="张无忌";
    aStudent.sex="男";
    aStudent.origin="湖南张家界";
    aStudent.studentNumber=2013001;
    System.out.println("输出第一个学生的信息:");
    /*4--引用对象aStudent的---成员方法*/
    aStudent.printStudent();


    StudentCard otherStudent=aStudent
            ;
    otherStudent.name="周节能";
    otherStudent.sex="女";
    otherStudent.origin="中国北京";
    otherStudent.studentNumber=2013002;
    System.out.println("输出第二个学生的信息:");
    otherStudent.printStudent();
}

}

你可能感兴趣的:(对象名-指针变量)