什么是类?什么是对象?
对象
1.现实世界是由很多对象组成的
2.对象时真实存在的单个个体
类
类是由对象抽象出来的类别,类具有对象的统一的特征,包含一类个体
类中包括:
1.所由对象共有的特征(属性:静)———即变量(成员变量)
2.所有的共同行为(属性:动)————-即方法
如何创建类?如何创建对象?
一个类可以创建多个对象,对象的结构相同,数据不同
类是对象的模板,对象是类的具体实例
对象存于堆,引用存于栈
类用关键词class创建,如:
class Student {
String name;
int age;
String address;
void study(){
System.out.println(name+”在学习”);
}
void sayHi(){
System.out.println(“大家好!我叫”+name+”家住”+address);
}
}
这就创建了一个简单的类,创建了类,可以用关键词new来创建对象,如:
Student zs = new Student();
类 引用类型变量 指向 对象
Student 为类,zs为引用类型变量,简称引用,=为指向的意思,new Student()为心创建的对象
引用类型之间画等号的意义
引用类型之间画等号:指向了同一个对象
1.对其中一个引用的修改会影响另一个引用
2.eg:房门钥匙
基本类型之间画等号:赋值
1.对其中一个值的修改不会影响另外一个值
2.eg:身份证复印件
null 和 NullPointerException
null:空,没有指向任何对象
不能对null进行任何操作,若操作则会报NullPointerException空指针异常,出现此异常,大部分跟构造方法有关,但不绝对
方法的重载
首先有一个概念叫方法的签名
方法的签名:方法名和参数列表
一个类中,不可能有两个方法的方法签名完全相同
方法的重载:
1.同一个类中,方法名相同,参数列表不同
2.编译器在编译时会自动根据方法的签名绑定调用的方法
方法的重载及其意义:(⊙o⊙)…这个,大概是在调用的时候会十分方便吧
构造方法
构造方法(构造器,构建器,构造函数)
1.常常由于给成员变量赋初值
2.与类同名,没有返回类型,不能写void
3.在创建(new)对象时被自动调用
4.若自己不构造方法,系统默认提供无参构造方法,若已构造,则系统不再提供默认的无参构造方法
5.构造方法可以重载
public class Cell {
int row;
int clo;
Cell(){
this(0);
}
Cell(int n){
this(n,n);
}
Cell(int row,int clo){
this.row=row;
this.clo=clo;
}
}
this关键字
this:指代当前的对象,哪个对象调用指的就是哪个对象,方法中访问成员变量之前默认有个this,this关键字用于方法体中,指代当前调用的对象
this用法:
1.this.成员变量名——–访问成员变量
2.this.方法名———–调用方法
3.this();————–调用构造方法(注意是构造方法)
引用类型数组
数组是对象,数组是引用类型,数组的元素可以为任意类型
Cell[] cells=new Cell[4];
cells[0]=new Cell(2,5);
cells[1]=new Cell(3,6);
cells[2]=new Cell(4,7);
cells[3]=new Cell(5,8);