学习内容:
Java面向对象的基本知识
一、面向对象与面向过程
面向过程:主要关注实现的具体过程,语句之间是因果关系。
面向对象:它是基于面向过程的编程思想,也是一种思考问题的方式,主要关注对象能完成哪些功能,这种思维方法其实就是我们在现实生活中习惯的思维方式,是从人类考虑问题的角度出发,把人类解决问题的思维方式逐步翻译成程序能够理解的思维方式的过程。
注:所有面向对象的编程语言都具有的三大特征:封装、继承、多态
二、包
定义:包其实就是文件夹
作用:1、把相同的类名放到不同包中;2、对类进行分类管理
注:
- package语句必须是程序的第一条可执行的代码,注释除外
- package语句在一个java文件中只能有一个
- 如果没有package,默认无包名(default)
- 拥有包访问权限的类才能访问某个包中的类
- 同一个包中不允许有相同名字的类,不同包中类的名字可以相同,当同时调用两个不同包中的相同类名的类时,应当加上包名加以区分
三、类
定义:类是一组相关的属性和行为的集合,是构造对象的模板和蓝图,是一个抽象的概念
类的导入:
一个类可以使用所属包中的所有类,以及其他包中的公共类,有两种方式访问另一个包中的公共类:
- 使用完全限定名(包名后面跟着类名)如:java.time.LocalDate
- 使用import语句
自定义类的创建:
- 创建对象的格式:
类名 对象名 = new 类名();
- 使用成员变量的格式:
对象名.变量名
- 使用成员方法的格式:
对象名.方法名(参数...)
类的设计:
- 一定要保证数据私有化
- 一定要对数据进行初始化
- 不要在类中使用过多的基本类型
- 不是所有的字段都需要单独的字段访问器和字段更改器
- 分解有过多职责的类
- 类名和方法名的命名要起到见名知意的效果
四、对象
·对象是该类事物的具体表现形式,具体存在的个体
匿名对象:
匿名对象是指没有名字的对象,只创建对象但是不用变量来接收
//匿名对象举例
new student();
new student().show();
匿名对象的应用场景:
- 该方法仅调用一次的时候
- 匿名对象可以作为实际参数传递
匿名对象的优点:
匿名对象创建的方式能够减少栈帧的分配和指向,且在调用完毕后能够被GC机制(垃圾回收机制)快速的回收
总结
本周初步学习和了解了Java面向对象的知识,下周将继续学习面向对象