面向对象------章节练习题
发布日期:2021-05-24 04:36:45 浏览次数:21 分类:精选文章

本文共 1938 字,大约阅读时间需要 6 分钟。

方法的使用

方法的重载与Overload的区别?

方法重载(Overloading)和重写(Overriding)是Java多态性的两种表现形式。重写用于子类对父类的方法进行覆盖,而重载是在同一类中定义多个具有相同名称但不同参数的方法。

方法重载 方法重写(Overriding) 描述
在同一类中定义具有相同名称但不同参数的方法。 在子类中定义与父类方法名称和参数相同的方法。 如下示例:public class Test {
public static void show(int i){
switch(i){
default: i+=2; case 1: i+=1; case 4: i+=8; case 2: i+=4; } System.out.println("i="+i); }}

方法重载与重写的要求

  • 方法重载:参数列表必须完全不同。
  • 方法重写:方法名称和参数类型必须完全相同。

方法参数传递

在Java中,方法参数始终是以值传递的方式传递,对象引用不会改变。因此,方法可以Modify对象属性,不会影响到外部的对象状态。

构造器是否可以被重写?

构造器(Constructor)是特殊的方法,它不能被static修饰,也不能被重写。虽然它不能被重写,但可以被重载。

public class Test {
public static void main(String[] args) {
MyClass m = new MyClass(); // 这次循环结束后,本次创建的对象成为垃圾。
System.out.println("创建第" + (i+1) + "的对象:" + m);
}
}
public class MyClass {
MyClass() {
System.out.println("MyClass创建成功");
}
}

内存管理

垃圾回收机制

  • 内存分配:JVM自动为对象分配内存。
  • 垃圾回收:JVM自动释放不再被引用内存空间。
  • 调用垃圾回收机制

    我们可以通过调用System.gc()或Runtime.getRuntime().gc()通知垃圾回收机制进行回收,但这并不会立即启动垃圾回收。

    代码示例

    垃圾回收机制示例

    public class Test {
    public static void main(String[] args) throws Exception {
    MyClass m = new MyClass();
    System.out.println("创建第" + (i+1) + "的对象:" + m);
    // 调用垃圾回收机制
    System.gc();
    // 延缓程序结束
    for (int i = 0; i < 10; i++) {
    Thread.sleep(1);
    System.out.println("程序在继续....");
    }
    }
    }

    Java对比运算符

    ==equals()的作用

    • ==:比较的是对象的内存地址,适用于基本类型。
    • equals():比较的是对象的内容,需在类中重写equals()方法后使用。对于FileString等类,equals()方法默认比较内容。

    包装类与数据类型关系

    public class Test {
    public static void main(String[] args) {
    Integer i1 = 128;
    Integer i2 = 128;
    int i3 = 128;
    int i4 = 128;
    System.out.println(i1 == i2); // false
    System.out.println(i3 == i4); // true
    System.out.println(i1 == i3); // true
    }
    }

    类继承与多态性

    类继承性

    Java支持单继承,但可以通过接口实现多继承。

    类多态性

    安全的数据访问方式:封装性使得类可以对自己数据进行管理。

    面向对象三大特征

  • 封装性:通过数据和操作封装成对象,外部无法直接访问对象内部数据。
  • 继承性:通过派生类继承基类特征,简化代码开发。
  • 多态性:通过方法重写和重载实现同一方法的多种实现方式。
  • 上一篇:垃圾回收机制的关键点
    下一篇:多线程基础部分

    发表评论

    最新留言

    很好
    [***.229.124.182]2025年05月09日 05时40分40秒