面向对象知识总览
- 类与对象
- 封装
- 继承
- 接口
- 接口的实现
- 数组、链表
- 泛型 集合框架
- 哈希表
→类与对象
- 类与对象的编程思想
- 代码中的类
- 如何自己创建一个类
- 对象的创建
- 类的结构特性
【类与对象的编程思想】(要求:能够自己脱稿解释什么是类,什么是对象)
1、类:class
分析一些事物是否都具有相同的属性、特征、行为、功能,就可以作为同一个类
eg:学生类,具体的某个学生
计算机类,我正在使用的计算机
用户类,系统中某一个具体的用户对象
2、对象:Object 具体的事物
从概念上讲:现实中具体存在的事物
程序中的对象:是一份数据,存在于内存中
eg: 每一个QQ号就是一个具体的QQ里具体的用户对象,所属的类就是QQ的用户类
【代码中的类】
0、工具类:与类与对象的概念没有很大关系
eg:HelloWorld
Math类:只有静态方法和静态属性的类,所有的数据都是固定的,所有的属性和方法都是类名直接可以调用(这种类不能创建对象)
1、首先在一个Java程序中,至少得有一个类,可以只创建一个主函数的类
2、 Java Bran类:具体的类别映射的类
拥有属性和方法的类(具有相同属性和方法的类别对应的类)
eg:Student User JFrame(窗体) JButton(按钮)
【如何自己创建一个类】【类的结构特性】
1、创建类之前必须分析这个类别都具有的属性和方法
2、创建类
格式:class 类名{ }
可以被public修饰,public修饰的类是属于当前类文件的主类。类名必须与所在的文件名一致,如果不是public类,就不需要与所在的文件名一致。
eg:
会报错
不会报错
3、命名规范
名称 | 规范 | 样例 |
---|---|---|
项目名 | 通常首字母大写 | Pro24(24年project的意思) |
包名 | 全小写,字母开头,使用“. ”分隔 | com.oop |
类文件名 | 驼峰命名:没有空格,每个单词首字母大写 | JavaClass HelloWorld |
属性变量名 | 小驼峰命名(第一个单词首字母大写)、缩写 | name,age,stu_ id |
常量名 | 要求全大写 | PI MAX_VALUE |
方法名 | 小驼峰命名(第一个单词首字母大写)、缩写 | (int age) |
局部变量名 | 小驼峰命名、缩写 | for(int i=0;😉(} |
4、实现类中的代码 | ||
1)这个类都具有的属性和方法,其中属性代表这个类别都有的数据信息,方法代表这个类都具有的行为/功能逻辑 | ||
2)用户类: | ||
a、属性:账号 密码 年龄 地址 积分 电话 在线标识 | ||
b、方法:登录 登出 密码验证 查看信息 修改密码 |
'
```java
public class User{
//属性:
String userName;
String pwd;
int age;
String address;
String phone;
int score;
boolean isLogin;
//方法:
/**
*登录方法
*参数:输入的密码
*返回值:登录是否成功的结果
* 登录成功2
* 密码错误1
* 用户已在线、重复登录0
*/
public void login(String pwdln){
}
/**
*显示打印所有信息的方法
*使用println打印语句打印所有信息
*/
public void showinfo(){
}
/**
*登出方法
*/
public void logOut(){
}
/**
*修改密码方法
参数:newPwd 新密码
参数:oldPwd 旧密码
*/
public void changePwd(String newPwd,String oldPwd){
}
//内置方法,用于本类中其他方法的实现,将多个方法中公共使用的部分,提取出来创建一个新的方法,方便代码重复使用,复用性
/**
* 验证密码是否正确
*参数:输入的密码
*返回值:验证的结果 true表示比较正确 false表示比较错误
*/
public boolean checkPwd(String pwdln){
}
【对象的创建】
- 格式:类名 对象变量名=new 类名();
- 创建对象的代码执行之后,才会在内存中创建对象
User user1=new User();
//对象名可以干啥?
//1、调用属性赋值,属于对象本身的
user1.name="allen";
//2、调用方法执行
user1.showInfo();
// 其它:1、静态资源可以用类名调用
// 2、只要没有加静态的都必须要加对象名调用
// 3、每个对象都有自己的一份属性,调用方法时根据调用对象来决定方法中使用的属性是哪个对象的
// 4、类中所有的成员对象方法和成员属性,必须使用对象才可以调用
- 对象的类型
1、现实存在的具体的事物
2、程序中的对象 - 搞清对象的类型可以思考三个问题
1、程序是什么?
2、代码是什么?
3、代码中有对象吗? - 搞清三个问题推荐阅读三本书
1、《程序是如何怎样跑起来的》
2、《网络是怎样连接的》
3、《计算机是怎样跑起来的》
(在图书馆抱着一本书一般一个下午就可以读完,推荐多看几遍)
(推荐阅读顺序为:《计算机是怎样跑起来的》《程序是怎样跑起来的》《网络是怎样连接的》) - 程序是什么?
1、非运行状态:存在磁盘中的一份数据,本身就是由一些代码文件与资源文件形成的一组数据
2、运行状态(运行状态下的程序被称作进程):运行状态下的程序被称作进程,正在操作系统上执行的程序-
程序可以做什么?
1、非运行状态下的程序,没有任何功能
2、运行状态下的程序,可以解决问题,实现功能(因为进程可以调度 操作系统的资源去解决问题) -
进程如何调度资源?
进程是通过计算机指令集来调用资源,解决问题,计算机指令就是可以操作资源的命令/动作 -
下图中的指令码(计算机指令)其实就是咱们代码编译之后的结果
-
操作系统是什么?
向下整合计算机资源的一个管理系统,向上管理程序的一个系统 -
操作系统的资源是什么?
是计算机硬件资源与调用管理的软件资源 -
硬件资源包括?
1、CPU
2、RAM
3、IO系统 -
总结
进程通过代码翻译过来的指令,调度计算机资源(CPU RAM IO系统)解决问题 -
代码中有对象吗?
代码只是指令,没有对象 -
代码本身就是一些字符而已
-
程序中的对象,只有进程中有对象,对象是存在内存中的一份数据而已
-
对象与对象变量名
变量名是代码中的一个代词,对象是一份具体的数据体。程序运行之后,对象变量名可以存储对象数据体的内存地址,把类称作引用数据类型。(如果像笔者一样觉得这段话难理解,可以和笔者一起来看看下面通义对这段话的更详细解读↓)
-