特色课堂笔记——Java类和对象
1、含有类和对象的程序在内存中的运行
程序:(注释为对关键字的解释)
public class Test{ //public:访问类型
int a;
public static int b; //static:静态方法
public void run{
int sum=100;
System.out.println(sum);
}
public static void main (string[] args){
Person p = new Person();
//Person代表类型,p为对象名,new为创建对象的关键字,Person()为对象实体,=传递地址值
p.run();//调用run方法
}
}
在内存中的运行:(圆圈中序号表示执行顺序)
含有main方法的.class文件首先加载到方法区,然后main方法入栈开辟空间,创建的g对象在main中,然而g对象在堆中开辟内存空间,当g对象调用run方法时,run方法入栈。
注:
(1)无static修饰的变量在对象中,而有static修饰的变量在方法区并为所有对象共享。
(2)调用方法后,方法才会入栈
(3)main方法是程序的主入口
2、类和对象
类: 用class关键字定义,class+类名,类是一个模板,它描述一类对象的行为和状态。
对象: 对象是类的一个实例,有状态和行为,类在堆内存开辟内存空间
类和对象的关系: 类是构建对象的模板
Java类的类型变量有:
- 类变量(静态变量):类变量声明在类中、方法体之外,且必须声明为static类型。
- 成员变量(实例变量):成员变量定义在类中,方法体之外的变量。成员变量在创建对象的时候实例化,可以被构造方法、类中方法和特定类的语句块访问。
- 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
类的实例化:
- 声明:声明一个对象,包括对象名称和对象类型。
- 实例化:使用关键字 new 来创建一个对象。
- 初始化:使用 new 创建对象时,会调用构造方法初始化对象。