面向过程、面向过程
- 面向过程:侧重分步骤,考虑完成该功能的过程(自己一步一步干)
- 侧重分模块(找人分发任务解决任务)
- 总结:
- 面向对象优势:可扩展,可维护,灵活性高,程序耦合度低
- 面向对象缺点:性能比面向过程相对较差
方法特点
- 静态方法用类名调用,构造方法创建实例化时对象调用,成员方法对象调用
- 构造方法
- 声明:权限修饰符 方法名(参数列表){方法体}; 方法名和类名必须一致
- 类中没有构造方法,默认有一个无参构造,如果自己编写写但默认的就没有了,一般自己写完构造方法会再写一个无参
- 只有成员方法才可以直接访问成员属性,静态方法不能访问成员变量(方法只要需要成员变量就定义为成员方法)
- 成员方法可以访问静态变量
类和对象之间的关系
- 类:对事物客观描述的标准
- 对象:一切皆对象,符合类标准的具体个体
对象使用
- 实例化对象:Student s1 = new Student();
- 通过get和set方法获取和设置成员属性
javaBean
JavaBean是一种Java语言写成的可重用组件,它是一个类(类必须是具体的公共的,并且具有无参构造器)
- 私有化成员变量
- 对外提供get和set方法
- get和set方法的作用:
- 保护成员变量
- 进行拦截
实例化的内存过程
- 加载客户端类
- main方法压栈
- 加载服务端类
- 调用构造方法
- 在堆内存中开辟空间,对实例化对象初始化
- 构造方法出栈,实例化对象赋值给变量
异常
- 编译时异常:
- 运行时异常:
- 空指针异常(用null访问成员变量时)
- 数组下标越界
易错点
- 区分成员方法和构造方法:看
有无返回值
(构造方法无返回值) - 对象可以调用静态变量,javac编译时会改成类名调用静态变量(所以空指针也不影响)
- 静态方法不能调用成员变量