21xrx.com
2025-03-26 21:30:43 Wednesday
文章检索 我的文章 写文章
Java面向对象程序设计及代码案例
2023-06-15 13:57:30 深夜i     46     0
Java 面向对象程序设计 继承 接口

Java作为一门面向对象的编程语言,在程序设计中有着广泛的应用。本文将介绍Java面向对象程序设计的基础知识,并提供几个常见的代码案例。

一、 面向对象程序设计基础

面向对象的编程思想中,将数据和行为作为一个整体来看待,这个整体就是对象。Java面向对象程序设计的基础就是类,而类是对象的模板。下面是一个简单的Java类代码:

public class Person {
  String name;
  int age;
  double height;
  
  public void sayHello() {
    System.out.println("Hello, my name is " + name);
  }
}

在这个类中,我们定义了一个Person类,它有三个成员变量(name、age、height)和一个方法(sayHello)。其中,成员变量用来存储数据,方法则是这个对象的行为。

二、代码案例

1. 继承

继承是Java面向对象编程中非常重要的一个概念,它可以让我们以一种更加简洁的方式来实现代码的复用。下面是一个简单的继承案例:

class Animal {
  public Animal() {
    System.out.println("Animal constructor called.");
  }
  public void sleep() {
    System.out.println("Animal is sleeping.");
  }
}
class Dog extends Animal {
  public Dog() {
    System.out.println("Dog constructor called.");
  }
  public void bark() {
    System.out.println("Dog is barking.");
  }
}
public class Test {
  public static void main(String[] args) {
    Dog dog = new Dog();
    dog.sleep();
    dog.bark();
  }
}

在这个案例中,我们定义了一个Animal类和一个Dog类,Dog类通过extends关键字继承了Animal类。在Test类的main()方法中,我们创建了一个Dog对象并调用了它的两个方法。

2. 接口

接口是Java中另一个非常重要的概念,它可以让我们定义一些方法的规范,这些方法可以被任何类来实现。下面是一个简单的接口案例:

interface Shape {
  double getArea();
}
class Circle implements Shape {
  double radius;
  public Circle(double radius)
    this.radius = radius;
  
  public double getArea() {
    return 3.14 * radius * radius;
  }
}
class Square implements Shape {
  double side;
  public Square(double side)
    this.side = side;
  
  public double getArea() {
    return side * side;
  }
}
public class Test {
  public static void main(String[] args) {
    Circle circle = new Circle(5);
    Square square = new Square(10);
    System.out.println("Circle area: " + circle.getArea());
    System.out.println("Square area: " + square.getArea());
  }
}

在这个案例中,我们定义了一个Shape接口和两个实现了该接口的类(Circle和Square)。在Test类的main()方法中,我们创建了一个Circle对象和一个Square对象,并分别调用了它们的getArea()方法。

三、关键词

Java、面向对象程序设计、类、继承、接口

  
  

评论区