Java复习大纲1

Java复习大纲

1. Java特点

  • 跨平台:Java代码编写后可以在任何支持Java的操作系统上运行,遵循“编写一次,运行到处”原则。
  • 面向对象:一切皆对象,Java支持封装、继承和多态。
  • 强类型:Java是一种强类型语言,类型安全,编译时会检查类型。
  • 自动垃圾回收:Java有内置的垃圾回收机制来自动管理内存。
  • 多线程支持:Java内置对多线程的支持,简化并发编程。
  • 安全性:Java的安全模型使得Java应用程序能够在不受信任的环境中安全运行。
  • 丰富的API:Java提供了丰富的标准库(API),涵盖网络编程、I/O操作、数据结构等。

2. Java程序开发步骤、源文件编写与保存、编译、运行

  • 编写源文件:使用文本编辑器或IDE编写Java源代码,文件扩展名为 .java
    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Hello, World!");
        }
    }
    
  • 保存文件:将源文件保存为 HelloWorld.java
  • 编译:使用 javac 编译器将源文件编译为字节码文件 .class
    javac HelloWorld.java
    
  • 运行:使用 java 命令运行编译后的字节码文件。
    java HelloWorld
    

3. 访问控制权限修饰符的作用,可见范围的区分

  • public:对所有类可见。
  • protected:对同一包中的类以及子类可见。
  • 默认(无修饰符):对同一包中的类可见。
  • private:仅对定义它的类可见。

4. 基本数据类型与引用数据类型的区分

  • 基本数据类型(Primitive Types):int, boolean, char, double, float, long, short, byte。这些类型直接存储数据值。
  • 引用数据类型(Reference Types):如 String, Array, Class。这些类型存储对象的引用,即内存地址。

5. 数据的声明、定义与使用

  • 声明:指定变量的类型和名称。
    int age;
    
  • 定义:声明并初始化变量。
    int age = 30;
    
  • 使用:在程序中读取或修改变量的值。
    System.out.println(age);
    

6. 类、抽象类、接口,概念与特性,联系与区别

  • :包含属性和方法的基本单位。支持对象的创建。
    public class Animal {
        String name;
        void speak() {
            System.out.println("Animal speaks");
        }
    }
    
  • 抽象类:不能实例化的类,可能包含抽象方法(无实现的方法)。
    abstract class Shape {
        abstract void draw();
    }
    
  • 接口:只定义方法的签名(从Java 8开始,也可以有默认实现),不能包含实例变量。
    interface Drawable {
        void draw();
    }
    

7. thissuperstatic关键字的作用

  • this:指代当前对象实例,通常用于区分实例变量和局部变量。
    this.name = name;
    
  • super:指代当前对象的父类实例,访问父类的构造方法和方法。
    super(name);
    
  • static:表示类级别的成员,属于类而不是对象。用于定义静态变量和静态方法。
    static int count = 0;
    

8. 继承、重载、覆盖与多态,概念与用法

  • 继承:子类继承父类的属性和方法。
    class Dog extends Animal {
        void bark() {
            System.out.println("Dog barks");
        }
    }
    
  • 重载(Overloading):同一类中多个方法具有相同的名字但参数不同。
    void add(int a, int b) { ... }
    void add(double a, double b) { ... }
    
  • 覆盖(Overriding):子类重写父类的方法,方法名、参数列表都要一致。
    @Override
    void speak() {
        System.out.println("Dog barks");
    }
    
  • 多态:通过父类引用调用子类的方法。
    Animal myDog = new Dog();
    myDog.speak(); // 调用的是Dog类的speak方法
    

9. 面向对象的编码原则与应用

  • SOLID原则
    • S: 单一职责原则(Single Responsibility Principle)
    • O: 开放封闭原则(Open/Closed Principle)
    • L: 里氏替换原则(Liskov Substitution Principle)
    • I: 接口隔离原则(Interface Segregation Principle)
    • D: 依赖倒置原则(Dependency Inversion Principle)

10. 面向过程和面向对象有什么特点

  • 面向过程:以过程(函数)为中心,注重算法和数据的操作。
  • 面向对象:以对象为中心,注重数据和操作数据的行为,通过封装、继承和多态实现。

11. 集合基本概念与用法

  • 集合框架:用于存储和操作一组对象的类的集合。
    • List:有序集合,如 ArrayListLinkedList
    • Set:不允许重复元素,如 HashSetTreeSet
    • Map:键值对集合,如 HashMapTreeMap

12. 泛型

  • 泛型:允许在类、接口和方法中定义类型参数,使得代码更加灵活和类型安全。
    class Box<T> {
        private T value;
        void set(T value) { this.value = value; }
        T get() { return value; }
    }
    

13. 参数传递

  • 值传递:Java中的所有参数传递都是按值传递,即传递的是变量的值副本。对于基本数据类型,传递的是数据的值;对于引用类型,传递的是对象的引用的值。

14. 堆与栈的理解及其作用

  • :存储对象实例,动态分配内存,垃圾回收机制管理。
  • :存储方法调用和局部变量,使用栈帧(stack frame)来管理。

15. 位运算符、逻辑运算符的区别与应用

  • 位运算符:对整数的二进制位进行操作,如 &, |, ^, ~, <<, >>, >>>
  • 逻辑运算符:对布尔值进行操作,如 &&(逻辑与)、||(逻辑或)、!(逻辑非)。

16. 经典运算符的使用

  • 算术运算符+, -, *, /, %
  • 关系运算符==, !=, <, >, <=, >=
  • 赋值运算符=, +=, -=, *=, /=, %=

17. 类图的表示

  • 类图:UML图的一种,展示类及其关系。主要包括类的名称、属性、方法以及类之间的关系(如继承、实现、关联等)。

18. 垃圾收集方法

  • 垃圾收集:Java的垃圾收集器自动管理内存,回收不再使用的对象。常见算法包括标记-清除、复制算法、标记-整理算法。

19. finalfinallyfinalize的区别

  • final:用于修饰类(不可继承)、方法(不可重写)、变量(常量)。
    final int MAX = 100;
    
  • finally:用于在 try-catch 语句块后,确保一定会执行的代码块。
    try {
        // code
    }finally {
        // cleanup code
    }
    
  • finalize: 对象的终结方法,在垃圾回收器准备回收对象之前调用(不推荐使用)。
    protected void finalize() throws Throwable {
        // cleanup code
    }
    

20. errorexception的概念,他们之间的联系与区别

  • error:通常表示 JVM 的内部错误或资源耗尽,例如 OutOfMemoryError
  • exception:表示程序运行时的错误,需由程序处理。分为检查异常(checked exception)和运行时异常(unchecked exception)。
    try {
        // code
    } catch (IOException e) {
        // handle exception
    }
    

21. 典型设计模式的定义、原理与作用

  • 单例模式:确保一个类只有一个实例,并提供全局访问点。
  • 工厂模式:定义一个创建对象的接口,让子类决定实例化哪个类。
  • 观察者模式:定义对象之间的一对多依赖,让多个观察者同时监听某一主题。
  • 策略模式:定义一系列算法,将每一个算法封装起来,使得它们可以互换。

22. 多线程的机制、实现方法与应用

  • 机制:Java通过 Thread 类和 Runnable 接口来实现多线程。
    class MyThread extends Thread {
        public void run() {
            // code
        }
    }
    
    class MyRunnable implements Runnable {
        public void run() {
            // code
        }
    }
    Thread t = new Thread(new MyRunnable());
    t.start();
    
  • 应用:多线程用于并发任务处理、异步操作等场景。

23. AWT、Swing和事件处理模型概念与应用

  • AWT(Abstract Window Toolkit):Java的原始图形用户界面工具包。
  • Swing:建立在AWT之上的GUI工具包,提供了更丰富的组件和更好的可定制性。
  • 事件处理模型:事件源(触发事件的对象)和事件监听器(处理事件的对象)。使用 ActionListenerMouseListener 等接口处理事件。

24. 关系的种类、表示及其含义

  • 继承(Inheritance):表示类与类之间的父子关系。
  • 实现(Implementation):表示类与接口之间的关系。
  • 关联(Association):表示类与类之间的关系,通常是成员变量的形式。
  • 依赖(Dependency):表示一个类依赖于另一个类的功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值