类和对象
特点:封装;继承;多态。
什么是类和对象?
类:具有共同的特征和行为的对象的集合,是对象的模板。【抽象】
对象:是实际存在的事物。【具体】
类
类的特征
类的属性
类的行为
类的方法
类的定义
[访问修饰符] class 类名{
//1.类的特征
//2.类的行为
}
例:
public class Rooms {
//1.类的特征(成员变量)
private String type; //类型 1 2 3 4 5
private double price; //价格
private boolean sit = true ; //是否入住
private int stair; //楼层
private int number; //编号
//2.类的行为(成员方法)
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public boolean isSit() {
return sit;
}
public void setSit(boolean sit) {
this.sit = sit;
}
public int getStair() {
return stair;
}
public void setStair(int stair) {
this.stair = stair;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}
类名要参照命名规则
对象的定义:
类名 对象名 = new 类名();
对象的特征调用
对象名.成员变量
对象行为的调用
对象名.方法名(参数)
成员变量和变量的区别
1.变量 没有初值,没赋初值就不能用,只做用于所在的{}内
2.成员变量 没赋值就有初始值,作用于全局
.类的运行原理: 1.将.class文件加载到方法区
2.将main方法加载到方法区
3.main方法压栈
4.在堆中开辟对象的内存空间并完成初始化,方法指向方法区对应的方法
5.在栈中生成对象的引用,并指向堆里开辟的对应的内存空间
6.将所要执行的方法压栈
7.方法执行完后出栈并销毁
8.所有方法执行完后,main方法出栈
9.当堆中所开辟的内存空间长时间没有被指向时,会在未来的某一时刻被当做垃圾回收
方法重载
1.方法名相同
2.参数不同(个数,顺序,类型)
3.与返回值类型和访问修饰符无关
满足1,2即构成方法重载
特殊情况:不定参数
构造方法
作用:创建对象并完成对象的初始化
特点:·方法名称与类名一致
·无返回值类型
细节:如果类没有重写构造方法,类中会自动生成一个无参的构造方法
·如果构造方法被重写就不会自动生成无参的构造方法
·可重载
this关键字:
作用:区分成员变量和参数
意义:代表当前创建的对象的引用
Static关键字
作用:将成员归于类所有(当要调用被Static关键字修饰的成员时用类名.成员名)
细节:Static关键字修饰的方法中不能使用this或者super关键字,不能直接调用实例成员,可以直接调用静态成员
实例方法中可以直接调用实例成员或静态成员