1.面向过程与面对对象
面向过程:专注于解决问题
面对对象:要经过完整的分析,设计才可以进行开发
面对对象的程序开发主要分三种:OOA(面对对象的分析),OOD(面对对象的设计),OOP(面对对象的程序)
特征:封装(对外部不可见) 继承 (扩展类的功能) 多态(重载,对象的多态性)
2.类与对象
类是对某一类事物的描述是抽象的;
对象是实际存在的该类的个体,也称实例;
类实际上相当于对象操作的图纸,图纸生产出来的对象才可以给用户使用;
没有类则肯定没有对象产生;没有对象类也无法使用;对象的一切操作在类中都已经定义出来了;
对象如果未被实例化则会出现空指向异常;
3.类与对象的定义
a,类
class 类名称{
属性 //类名书写规则:首字母大写
方法()
}
构造方法的主要目的是为类中的属性进行初始化,构造方法名与类名相同,但是没有return返回值,在使用关键字new 的时候调用,如果一个类中没有明确定义一个构造方法,则会自动生成一个无参的,什么都不做的构造函数,也就是说每一个类至少有一个一个构造方法存在,构造方法本身也可以进行重载的,只要参数类型不同或者个数不同就可以进行方法重载;
b.对象
1.类名 对象名称=null; //对象声明(声明的对象名保存在栈 中)
对象名称=new 类名()//实例化 实例化之后对象会开辟对应的堆内 { 存放的是对象的各个属性(对象只能依靠属性的不同来区分)}
2.类名 对象名称=new 类名();
*访问属性:对象名.属性名=数值;
*访问方法:对象名.方法()
如果对象在使用中只是声明的话无法直接使用,必须实例化才能正确使用;
只要已出现new就会开辟新的内存空间,所以多个对象不会相互影响
一个栈只能引用一个堆内存空间,一个对可以被多个栈指向
Java中不用的内存空间成为垃圾空间,处理垃圾空间的机制叫做垃圾收集机制(GC)