Java
Python前端运维数据库
Java
Java
  • 新特性
    • Record
    • Optional
  • 面向对象
    • 面向对象基础
    • 构造方法
    • 继承与多态
    • 接口
    • 修饰符
    • 代码块
    • 接口(Interface)
    • 枚举类
  • IO流
    • IO
      • 字节流
      • 字符流
      • 缓冲流
      • 转换流
      • 操作ZIP
      • File 对象
    • NIO
      • Channel和Buffer
      • 异步文件通道AsynchronousFileChannel
      • Selector
      • Path/Files/Pipe
  • 反射
  • 内存分配
  • 集合
    • 简介
    • List
    • Set
    • Map
    • EnumMap
  • 日期与时间
    • Date和Calendar
    • Java8 新时间 ✨
      • LocalDateTime
      • ZonedDateTime
      • Duration
    • 时间格式化
      • SimpleDateFromat
      • DateTimeFormatter ✨
    • Instant
    • 实践
  • 网络编程
    • IP 地址
    • 网络模型
    • TCP 编程
    • UDP 编程
    • HTTP 编程
  • 加密和安全
  • 并发编程
    • 多线程
    • 线程与进程的区别
    • 线程组和线程优先级
    • 线程池
    • 线程锁
  • 异步任务
    • Future
    • CompletableFuture
      • 开启异步任务
      • 串行任务方法
      • 并行任务方法
      • 任务结束方法
      • 异常处理方法
      • 查看状态方法
      • 设置任务结果方法
  • 执行系统命令
  • Stream 流
    • Stream 流的创建
    • Stream 流串行与并行
    • Stream 流中间操作
    • Stream 流终端操作
  • Lambda 表达式
    • Lambda 表达式简介
    • Lambda 表达式语法
    • 方法引用
  • String
  • StringBuffer
由 GitBook 提供支持
在本页
  • 方法重载
  • 方法重写
  • 构造器

这有帮助吗?

  1. 面向对象

面向对象基础

public class Main {
    public static void main(String[] args) {
        // 创建一个 Person 对象
        Person person = new Person();

        // 设置对象的属性
        person.name = "John";
        person.age = 25;
        person.isMale = true;

        // 调用对象的方法
        person.eat();
        person.sleep();
        person.talk("English");
    }
}

方法重载

方法重载(Method Overloading)是指在同一个类中定义多个方法,它们具有相同的名称但参数列表不同。Java中的方法重载允许我们使用相同的方法名来执行不同的操作,根据传递给方法的参数的类型、数量或顺序来决定调用哪个方法。

方法重载的特点:

  • 方法名称必须相同。

  • 方法的参数列表必须不同,可以是参数的类型、数量或顺序的不同。

  • 方法的返回类型可以相同也可以不同。

  • 方法重载与方法的访问修饰符和异常类型无关。

public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }

    public double add(double a, double b) {
        return a + b;
    }

    public int add(int a, int b, int c) {
        return a + b + c;
    }
}

public class Main {
    public static void main(String[] args) {
        Calculator calculator = new Calculator();

        int sum1 = calculator.add(2, 3);
        double sum2 = calculator.add(2.5, 3.5);
        int sum3 = calculator.add(2, 3, 4);

        System.out.println("Sum 1: " + sum1);
        System.out.println("Sum 2: " + sum2);
        System.out.println("Sum 3: " + sum3);
    }
}

方法重写

方法重写是指在子类中重新定义父类中已经存在的方法,具有相同的名称、参数列表和返回类型。

方法重写允许子类提供对父类方法的新实现,以满足子类的特定需求。

方法重写的特点:

  • 方法名称、参数列表和返回类型必须与父类中的方法相同。

  • 子类方法不能缩小父类方法的访问权限,但可以扩大访问权限。

  • 子类方法不能抛出比父类方法更多的异常,但可以不抛出异常或抛出父类方法抛出的异常的子类异常。

class Animal {
    public void makeSound() {
        System.out.println("Animal is making a sound.");
    }
}

class Dog extends Animal {
    public void makeSound() {
        System.out.println("Dog is barking.");
    }

    public void makeSound(String sound) {
        System.out.println("Dog is making " + sound + " sound.");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal animal = new Animal();
        animal.makeSound(); // Output: Animal is making a sound.

        Dog dog = new Dog();
        dog.makeSound(); // Output: Dog is barking.
        dog.makeSound("woof"); // Output: Dog is making woof sound.
    }
}

构造器

package Person;

public class Person {
    private String name;
    private int age;
    private boolean isMale;

    // 自定义构造器
    public Person(String name, int age, boolean isMale) {
        this.name = name;
        this.age = age;
        this.isMale = isMale;
    }

    // 无参构造器
    public Person() {
        // 调用有参构造器,必须放在第一行
        this("Tom", 18, true);
    }

    public static void main(String[] args) {
        Person person = new Person("Jerry", 20, false);
        System.out.println(person);
        Person person1 = new Person();
        System.out.println(person1);
    }
}

上一页面向对象下一页构造方法

最后更新于1年前

这有帮助吗?