面向对象编程(OOP)的本质:
---以类的方式组织代码,以对象的方法组织(封装)数据。
面向对象思维:OOA(面向对象分析),OOD(面向对象设计)
对象:是具体的事物
类:是对对象的抽象
先有具体的对象,然后抽象各个对象之间象的部分,归纳出类,通过类
再认识其他对象。
成员变量和局部变量
成员变量不需要手动初始化,但是局部变量需要手动初始化
程序运行的内存分析:
栈:自动分配连续的空间,后进先出,放置:局部变量
堆:自动分配不连续的空间,后进后出,放置:存放new出来的对象
方法区:类的代码信息,static变量,常量池
public class Student {
String name;
int age;
int id;
String gender;
int weight;
public void study() {
System.out.println(name + "在学习");
}
public void sayHello(String sname) {
System.out.println(name + "在向" + sname + "说:你好!");
}
public static void main(String agrs[]) {
//通过类加载器calss loader 加载Student类
Student s1 = new Student();
s1.age = 18;
s1.gender = "男";
s1.name = "高崎";
s1.study();
s1.sayHello("马士兵");
Student s2 = new Student();
s2.age = 18;
s2.gender = "男";
s2.name = "老高";
s2.study();
s2.sayHello("马士兵");
}
}
垃圾回收机制
垃圾回收帮我们回收没有人使用的对象
程序员可以通过System.gc().通过垃圾回收运行,但是java规范并不保证立马执行