面向对象——类与对象

面向对象知识总览

  • 类与对象
  • 封装
  • 继承
  • 接口
  • 接口的实现
  • 数组、链表
  • 泛型 集合框架
  • 哈希表

→类与对象

  • 类与对象的编程思想
  • 代码中的类
  • 如何自己创建一个类
  • 对象的创建
  • 类的结构特性

【类与对象的编程思想】(要求:能够自己脱稿解释什么是类,什么是对象)

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系统)解决问题

    • 代码中有对象吗?
      代码只是指令,没有对象

    • 代码本身就是一些字符而已

    • 程序中的对象,只有进程中有对象,对象是存在内存中的一份数据而已

    • 对象与对象变量名
      变量名是代码中的一个代词,对象是一份具体的数据体。程序运行之后,对象变量名可以存储对象数据体的内存地址,把类称作引用数据类型。(如果像笔者一样觉得这段话难理解,可以和笔者一起来看看下面通义对这段话的更详细解读↓)
      在这里插入图片描述

  • 43
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值