不想学习…

(一):大二上 面向对象课程 复习

先占位,复习中

Lesson 8 完善类的设计

感觉是又总结了一遍前面的知识,主要想说如何设计代码

1. 多态

多态简而言之就是“同一个接口,使用不同的实例而执行不同操作”。 多态存在的三个必要条件:

  • 继承 (Inheritance):必须有父子类关系。
  • 覆盖 (Override):子类必须重写父类的方法。
  • 向上转型 (Upcasting):父类引用指向子类对象(Father f = new Son();)。

核心考点(出现n遍了)

  • 成员变量(字段):编译运行都看左边。

    • 如果你写 Father f = new Son();,然后调用 f.age。不管 Son 类里有没有定义 age,系统只看 Father 类里有没有 age。如果有,取父类的值。
    • 原因:Java 中字段没有多态性,字段是静态绑定的。
  • 成员方法(非静态):编译看左边,运行看右边。

    • 你调用 f.eat()。编译时,编译器检查 Father 类有没有 eat(),没有就报错(编译失败)。运行时,JVM 会去调用 Son 类重写过的 eat()
    • 这就是“动态绑定”。
  • 静态方法:编译运行都看左边。

    • 静态方法不属于对象,属于类,不具有多态性。

阅读全文


以申雪萍老师PPT标号为章节。

部分内容来源于AI总结。(每个PPT都接近100页,实在看不完了)

system提示词:

目前你是北航面向对象(OOP Java)课程的老师,你有一些学生因为一些原因没有来上课,但是马上就要期末考试了,这些同学来问你,你一定要把所有知识点都教给他们,让他们听完你的讲授都能拿100分。

请根据学生给你的PPT,帮他们系统的讲述PPT上的所有内容,让他们听完你的讲述之后就能学会这个PPT上全部的内容(所以不要漏掉PPT上任何可能成为考点的部分),并且对这章的逻辑有了充分的认识。

你的学生都很聪明,所以不要用弱智般的比喻或拟人来讲解,但可以用一些非常贴合或者常用的例子或者比喻。

阅读全文


2.1 异常与错误

简述 ErrorException 的区别。
  • Error 表示的是JVM层面或系统级的严重错误,通常不是程序本身逻辑导致的,比如 OutOfMemoryErrorStackOverflowError 等。这类问题一旦发生,说明运行环境已经不正常了,通常不可恢复,一般不在代码中去捕获和处理。
  • Exception 表示的是程序运行过程中可以预期、可以处理的问题,比如 IOExceptionSQLExceptionNullPointerException 等。对于 Exception,一般推荐在合适的层次进行捕获、处理或转换,让程序在出错时仍能做出合理的响应。

阅读全文


类我已经建好了,但是老师我为什么没有对象啊()

Question 1

代码:

package cc.lixu.oo01;

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        System.out.println("24373099 李旭");
        Scanner s = new Scanner(System.in);
        while(!s.nextLine().equals("QUIT")){
            System.out.println("Hello, World!");
            s = new Scanner(System.in);
        }
        System.out.println("----- Good Bye! -----");
        System.exit(0);
    }
}

运行截图:

image-20250918192147960

阅读全文