首先理解一下类和对象的关系,可以说:类是对象的抽象,对象是类的实例。
类
一个类中,通常上包含了属性和功能。属性通常用变量表达,功能通常上用函数表达。编写一个类
class 类名{
//属性,用变量表达
// 功能,用函数表达
}
对象
实例化对象的方法及含义:类名 对象名 = new 类名();,例如:Student zhangsan = new Student()。
含义:等号前面相当于定义了一个对象名,是一个Student类型,称为对象引用,这时并没有分配内存指向空值(null);等号后面给这个引用指向一个实际的对象,分配了相应的内存。(关键字new分配内存)
成员变量的访问
java中没有指针,统一用.来访问,即对象名.成员变量名,例zhangsan.name表示访问对象zhangsan的成员变量name。引用方法也同样如此。
注:对象名是一个引用,对其赋值时并不是将对象内的内容进行赋值,而是将引用赋值。即如果有语句 Student lisi = zhangsan;那么此时lisi将和zhangsan指向同一个对象(类似于指针),这时给zhangsan.name赋值后lisi.name也将随之改变。lisi原本指向的对象将被丢弃,最后被当做垃圾搜集。
范例:
class Student{
public String name;//类的属性
public String sex;
public Int age;
//类的功能
void display(){
System.out.println("name=" + name);
System.out.println("sex=" + sex);
System.out.println("age=" + age);
}
}
public class Test{
public static void main(String[] args){//主函数
Student zhangsan = new Student(); //对象的实例化
zhangsan.name = "张三";
zhangsan.sex = "男";
zhangsan.age = 19;
zhangsan.display();//调用类的方法 输出:name=张三 sex=男 age=19
Student lisi = zhangsan;//此时lisi的属性和zhangsan一样
lisi.display();//输出:name=张三 sex=男 age=19
zhangsan.age = 20;
System.out.println("lisi.age=" + lisi.age);//输出:lisi.age=20
}
}