面向过程:面向的是完成某事的过程,强调完成事情的动向。(例大象装冰箱——>三个过程)
用面向过程方法解决某事,当执行人不同时,需要为每个人量身定做方法。
面向对象:找个对象帮你做事(屏蔽因人不同而产生的麻烦,找通用的方法)
把冰箱作为对象:
1.冰箱门可以被打开(调用a方法开门);
2.大象可以被塞进去(调用b方法塞大象);
3.冰箱门可以被关上(调用c方法关门);
a,b,c为通用方法。
对象必须是看得见,摸得着。
类:具有相同属性、相同方法的对象进行封装,抽象出类
语法 [public] class 类名
{
字段;(Field)
属性;(Property)
方法;(Method)
}
写好一个类,需要创建这个类的对象,创建某个类的对象的过程称为实例化。(关键字new)
创建号对象,为其赋初值的过程称为初始化。
this表示当前这个类的对象。
类是不占内存的,而对象是占内存的(实际为对象中的字段占用内存)
属性:
作用是保护字段,对字段的赋值和取值进行限定。
本质就是两个方法:get();set()。
同时具备get、set称为可读写属性;
只有get称为只读;
只有set称为只写。
访问修饰符:
public:在哪都能访问;
private:只能在当前类内部访问,出了这个类访问不到;
字段必须是私有的;属性必须为共有的。
静态&非静态:
1.在非静态类中,既可以有实例成员,也可以有静态成员;
2.调用实例成员时需要用:对象名.实例成员;
调用静态成员时需要用:类名.静态成员;
*静态成员必须用类去调用,而实例成员用对象名调用;
*静态函数中只能访问静态成员,不允许访问实例成员;
*实例函数中既可以使用静态成员,也可以使用实例成员;
*静态类中只允许有静态成员,不允许出现实例成员。
**如果想要类作为一个“工具类”去使用,可以考虑将类写成静态的;
**静态在整个项目中资源共享,只有在程序全部结束后静态类才会释放资源。
关键词:堆栈,静态存储区域,GC(Garbage Collection)垃圾回收站