美文网首页
2023-11-21第08章_面向对象编程(高)

2023-11-21第08章_面向对象编程(高)

作者: 大也 | 来源:发表于2023-11-27 12:31 被阅读0次

-- ---------------------- 本章概况
-- ---------------------- 课件
-- ---------------------- 随堂复习与企业真题
-- ---------------------- 拓展练习

-- ---------------------- 本章概况


image.png
image.png
image.png

-- ---------------------- 课件

  1. 关键字:static(1.1 类属性、类方法的设计思想/1.2 static关键字/1.3 静态变量[1.3.4 内存解析]/1.4 静态方法/1.5 练习)
[修饰符] class 类{
    [其他修饰符] static 数据类型 变量名;
}

[修饰符] class 类{
    [其他修饰符] static 返回值类型 方法名(形参列表){
        方法体
    }
}

静态方法可以被子类继承,但不能被子类重写。
  1. 单例(Singleton)设计模式(2.1 设计模式概述/2.2 何为单例模式/2.3 实现思路/2.4.3 饿汉式 vs 懒汉式[lazy]/2.5 单例模式的优点及应用场景)


    image.png
class Singleton {
    // 1.私有化构造器
    private Singleton() {
    }
    // 2.内部提供一个当前类的实例
    // 4.此实例也必须静态化
    private static Singleton single;
    // 3.提供公共的静态的方法,返回当前类的对象
    public static Singleton getInstance() {
        if(single == null) {
            single = new Singleton();
        }
        return single;
    }
}
线程不安全
  1. 理解main方法的语法()
![image.png](https://img.haomeiwen.com/i2673147/498eaa7e6272232e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  1. 类的成员之四:代码块(4.1 静态代码块/4.2 非静态代码块/4.3 举例/4.4 小结:实例变量赋值顺序/4.5 练习)
    ???补
  2. final关键字(5.1 final的意义/5.2 final的使用/5.3 笔试题)
    5.2 final修饰变量 一旦赋值,它的值就不能被修改,即常量,常量名建议使用大写字母。
    final 修饰方法 表示这个方法不能被子类重写。
    final 修饰类 表示这个类不能被继承,没有子类。提高安全性,提高程序的可读性。
final class Eunuch{//太监类}
  1. 抽象类与抽象方法(或abstract关键字)(6.1 由来/6.2 语法格式/6.3 使用说明/6.4 注意事项/6.5 应用举例1/6.6 应用举例2:模板方法设计模式(TemplateMethod)/6.7 思考与练习)
[权限修饰符] abstract class 类名{
    
}
[权限修饰符] abstract class 类名 extends 父类{
    
}
  1. 接口(interface)(7.1 类比/7.2 概述/7.3 定义格式/7.4 接口的使用规则/7.5 JDK8中相关冲突问题/7.6 接口的总结与面试题/7.8 练习)

[修饰符] interface 接口名{
    //接口的成员列表:
    // 公共的静态常量
    // 公共的抽象方法
    
    // 公共的默认方法(JDK1.8以上)
    // 公共的静态方法(JDK1.8以上)
    // 私有方法(JDK1.9以上)
}
【修饰符】 class 实现类  implements 接口{
    // 重写接口中抽象方法【必须】,当然如果实现类是抽象类,那么可以不重写
    // 重写接口中默认方法【可选】
}

【修饰符】 class 实现类 extends 父类 implements 接口{
    // 重写接口中抽象方法【必须】,当然如果实现类是抽象类,那么可以不重写
    // 重写接口中默认方法【可选】
}
  1. 内部类(InnerClass)(8.1 概述/8.2 成员内部类/8.3 局部内部类/8.4 练习)
    ???补
  2. 枚举类(9.1 概述/9.2/9.3 定义枚举类(JDK5.0 之后)/9.4 enum中常用方法/9.5 实现接口的枚举类)
public enum Week {
MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY;
}
  1. 注解(Annotation)(10.1 注解概述/10.2 常见的Annotation作用/10.3 三个最基本的注解/10.4 元注解/10.5 自定义注解的使用/10.6 JUnit单元测试)
/**
     * 程序的主方法,程序的入口
     * @param args String[] 命令行参数
     */
@author 标明开发该类模块的作者,多个作者之间使用,分割
@version 标明该类模块的版本
@see 参考转向,也就是相关主题
@since 从哪个版本开始增加的
@param 对方法中某参数的说明,如果没有参数就不能写
@return 对方法返回值的说明,如果方法的返回值类型是void就不能写
@exception 对方法可能抛出的异常进行说明 ,如果方法没有用throws显式抛出的异常就不能写
@Override重写方法

@Deprecated 不推荐使用。

@SuppressWarnings 抑制警告信息
  1. 包装类(11.1 为什么需要包装类/11.2 有哪些包装类/11.3 自定义包装类/11.4 包装类与基本数据类型间的转换/11.5 基本数据类型、包装类与字符串间的转换/11.6 包装类的其它API/11.7 包装类对象的特点/11.8 练习)

Integer obj = new Integer(4);
int num1 = obj.intValue();

int a = 10;
//String str = a;//错误的
String str = String.valueOf(a);
或者
int a = 10;
String str = a + "";

-- ---------------------- 随堂复习与企业真题

1. 关键字:static

  • static:静态的,随着类的加载而加载、执行。

  • static用来修饰:属性、方法、代码块、内部类

  • 熟悉:static修饰的类变量、类方法与不使用static修饰的区别。

    • 类变量:类的生命周期内,只有一个。被类的多个实例共享。
  • 掌握:我们遇到属性或方法时,需要考虑是否声明为static的。

2. 单例模式(或单子模式)

  • 经典的设计模式有23种
  • 解决的问题:在整个软件系统中,只存在当前类的唯一实例。
  • 实现方式:饿汉式、懒汉式、枚举类等
  • 对比饿汉式和懒汉式
    • 饿汉式:“立即加载”,线程安全的。
    • 懒汉式:"延迟加载",线程不安全。
  • 需要会手写饿汉式和懒汉式

3. 理解main()方法

  • public static void main(String[] args){}
  • 理解1:作为程序的入口;普通的静态方法
  • 理解2:如何使用main()与控制台进行数据的交互。
    • 命令行:java 类名 "Tom" "Jerry" "123"

4. 类的成员之四:代码块

  • 分类:静态代码块、非静态代码块
  • 使用频率上来讲:用的比较少。
  • 静态代码块:随着类的加载而执行
  • 非静态代码块:随着对象的创建而执行

总结:对象的实例变量可以赋值的位置及先后顺序

① 默认初始化
② 显式初始化 或 ⑤ 代码块中初始化
③ 构造器中初始化

④ 有了对象以后,通过"对象.属性"或"对象.方法"的方法进行赋值

执行的先后顺序:
① - ②/⑤ - ③ - ④

5. 关键字:final

  • 最终的

  • 用来修饰:类、方法、变量(成员变量、局部变量)

    • 类:不能被继承
    • 方法:不能被重写
    • 变量:是一个“常量”,一旦赋值不能修改。

6. 关键字:abstract

  • 抽象的
  • 用来修饰:类、方法
    • 类:抽象类:不能实例化。
    • 方法:抽象方法:没有方法体,必须由子类实现此方法。

7. 关键字:interface

  • interface:接口,用来定义一组规范、一种标准。

  • 掌握:接口中可以声明的结构。

    • 属性:使用public static final修饰

    • 方法:jdk8之前:只能声明抽象方法,使用public abstract修饰

              jdk8中:声明static方法、default方法。
      
              jdk9中:声明private方法。
      
  • 笔试题:抽象类、接口的对比。

8. 类的成员之五:内部类

> 成员内部类的理解
> 如何创建成员内部类的实例
> 如何在成员内部类中调用外部类的结构
> 局部内部类的基本使用(关注:如何在方法内创建匿名局部内部类的对象)

9. 枚举类:enum

  • 掌握:使用enum关键字定义枚举类即可。

10. 注解:Annotation

  • 框架 = 注解 + 反射 + 设计模式
  • Java基础阶段:简单。@Override 、 @Deprecated、@SuppressWarnings
  • 元注解:对现有的注解进行解释说明。
    • @Target:表明可以用来修饰的结构
    • @Retation:表明生命周期
  • 如何自定义注解。

11. 包装类的使用

  • 掌握:基本数据类型对应的包装类都有哪些?
  • 掌握:基本数据类型、包装类、String三者之间的转换
    • 基本数据类型 <-> 包装类:自动装箱、自动拆箱
    • 基本数据类型、包装类 <-> String
      • String的valueOf(xxx)
      • 包装类的parseXxx(String str)

12. IDEA:快捷键和debug

相关文章

  • “老奶奶”的python学习笔记(12)

    知识体系 第12关:面向对象编程 知识点 面向对象编程(Object Oriented Programming) ...

  • JS设计模式 -- 面向对象 -- 1 封装

    以下内容来自张荣铭《JavaScript设计模式》第2章。 两种编程风格 -- 面向过程与面向对象。 面向对象编程...

  • 面向对象_初识

    目录 面向对象编程介绍 类与对象介绍 私有属性与私有方法 面向对象编程 1. 面向对象编程介绍 面向对象编程:Ob...

  • 谈谈面向对象编程

    何为面向对象编程 面向对象编程简介 面向对象编程(Object-oriented Programming,缩写:O...

  • 面向对象基础

    面向对象编程包括: 面向对象的分析(OOA) 面向对象的设计(OOD) 面向对象的编程实现(OOP) 面向对象思想...

  • python-day14

    一、面向对象编程 编程思想:1.面向对象编程 --> 算法,逻辑2.函数式编程 --> 函数3.面向对象编程 ...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • JavaScript继承和封装

    Javascript继承 第2章 写的都是看到的---面向对象编程 2.1 两种编程风格 ----面向过程与面向...

  • 面向对象浅析

    ### 面向对象编程和面向对象编程语言 面向对象编程的英文缩写是 OOP,全称是 Object Oriented ...

网友评论

      本文标题:2023-11-21第08章_面向对象编程(高)

      本文链接:https://www.haomeiwen.com/subject/xlebwdtx.html