01. 面向过程和面向对象思想概述
-
- 什么是面向过程?
-
- 什么是面向对象?
-
- 面向对象思想的好处是什么?
- 面向过程: 强调的是过程, 自己通过第一步, 第二步… 一步步的自己去完成对应的需求.
- 面向对象: 强调的是对象, 通过指挥对象去帮我们完成对应的需求.
- 面向对象是一种[思想], 更符合我们思考问题的一种习惯. (懒人习惯)
- 将复杂的问题简单化
- 将我们从[执行者]的位置, 变成了[指挥者].
Java中讲究万物皆[对象]
可以通过Java代码, 将现实生活的任意一种事物, 都看作为是一个对象
因为任何一种事物都会具备自己的一份[功能].
02. 类和对象的概述
-
类是由哪两部分组成的?
属性, 行为
属性: 成员变量
行为: 成员方法
跟之前定义方法的格式一样, 只不过去掉了static关键字.
03.成员变量和局部变量的区别
A:位置不同
成员变量 : 类中方法外
局部变量 : 方法中, 或者是方法的声明上(形参)
B:初始化值不同
成员变量 : 有默认初始化值
局部变量 : 没有默认初始化值, 使用之前必须完成赋值才能使用.
C:生命周期不同
成员变量 : 随着对象的创建而存在, 随着对象的消失而消失
局部变量 : 随着方法的调用而存在, 随着方法的弹栈而消失
D:内存位置不同
成员变量 : 堆内存
成员变量所属于对象, 所以在堆内存
局部变量 : 栈内存
局部变量所属于方法, 所以在栈内存
E:作用域不同(编写代码)
成员变量 : 在整个类当中.
局部变量 : 仅在它所在的大括号中有效
04. 对象的使用
-
如何创建对象?
-
如何调用对象的属性?
-
如何调用对象的行为?
-
类名 对象名 = new 类名();
Phone p = new Phone(); -
对象名.变量名;
p.color = “黑色”;
System.out.println(p.color); -
对象名.方法名(实际参数);
p.call(“张三”);
p.sendMessage();
-
05. this关键字的概述和使用
-
什么是this关键字
-
this关键字的作用是什么?
作用: 用来区分局部变量和成员变量的重名问题.this.age = age;
结论: this.就是用来调用本类的成员
class Person{ String name; public String getName(){ return name; // 如果在使用成员变量的时候, 没有写this. 系统也会默认加上this. // return this.name; } }
this的概念: this代表当前对象的引用[地址值], 谁来调用我, 我就代表谁.
06.private关键字的特点
private关键字是一个权限修饰符
1, 可以用来修饰哪些东西?
成员:
成员变量, 成员方法
2, 被其修饰的[成员], 会具有哪些特点?
特点: 只能在本类中进行访问
07. 封装的概述和好处
-
隐藏实现细节, 仅对外暴露公共的访问方式.
常见的封装 : 私有成员变量, 对外提供公共的setXxx和getXxx方法. 注意: 私有仅仅是封装的一种体现形式, 不能说封装就是私有. 封装是一个大的思想概念 : 将一段代码, 抽取到方法中, 这就是对代码的一个封装.
作为调用者, 我不需要关注方法内部的实现原理, 我只需要关注怎样调用
2.
1. 提高了代码的安全性 -> age : -23
2. 提高了代码的复用性 -> 将一段代码封装到一个方法中, 对方法进行重复调用
08. 构造方法的概述和使用
- 什么是构造方法?
- 构造方法的格式为?
- 构造方法可以有return语句吗?
-
构建, 或者说是创造一个对象时候, 调用的方法
创建对象时候, 执行的方法.
Person p = new Person();.2.方法名与类名相同, 大小写也要一致
没有返回值类型, 连void都没有
. 没有具体返回值
能不能写return?
3.虽然没有具体的返回值, 但是可以有return语句, 用于结束方法.
-
09. 构造方法的注意事项
- 构造方法注意事项?
- 构造方法能够重载吗?
- 给成员变量的两种初始化方式有什么区别?
-
如果一个类当中没有编写任何构造方法, 系统将会提供一个默认的空参构造方法, 保证可以创建对象
-
构造方法也是方法, 可以进行重载
-
两种初始化方式分别为:
1. 有参构造初始化 2. setXxx初始化 这两种方式一般都是配合使用的. 一般都会通过有参构造进行[初始化], 随后通过setXxx方法[修改]属性值. Student s = new Student("张三",23); s.setName("李四"); System.out.println(s.getName());