Java之类和对象的概念

  • Post category:Java

Java是一种面向对象的编程语言,使用类和对象是Java编程的核心。在Java中,类定义了对象的共同特征,对象则是具体的实例,拥有类所定义的属性和方法。

类和对象的基本概念

类的定义和使用

定义Java类需要使用关键字class,下面是一个简单的示例:

public class Person {
    // 定义类的属性(成员变量)
    private String name;
    private int age;

    // 定义构造方法
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // 定义方法
    public void introduce() {
        System.out.println("My name is " + this.name + ", I am " + this.age + " years old.");
    }
}

在上面的示例中,我们定义了一个名为Person的类,并且定义了两个属性(成员变量)name和age,还定义了一个构造方法和一个introduce方法。构造方法用于初始化对象,introduce方法用于介绍一个人的基本信息。注意到在Java中使用this关键字引用对象的属性。

要使用这个类,需要先创建它的实例,如下所示:

Person person = new Person("Tom", 18);

以上是通过new关键字创建一个Person对象,传递两个参数给它的构造函数用于初始化name和age属性。要调用introduce方法可以这样写:

person.introduce();

对象的属性和方法

对象的属性和方法可以通过.运算符来访问,例如:

person.name = "Jerry";
System.out.println(person.age);

这些语句用于修改对象的属性和输出对象的age属性。

注意到在上面的代码示例中,属性name和age都使用了private关键字修饰,这使得它们只能被类内部的代码访问。如果需要从类外部代码访问这些属性,需要提供公共的getter和setter方法:

public String getName() {
    return this.name;
}

public void setName(String name) {
    this.name = name;
}

这样,外部代码就可以通过调用setName和getName方法来修改和获取对象的name属性了。

类和对象的进阶应用

继承

继承是Java中一种重要的特性,它允许一个类继承另一个类的属性和方法。下面是一个示例:

public class Student extends Person {
    private String major;

    public Student(String name, int age, String major) {
        super(name, age);
        this.major = major;
    }

    public void study() {
        System.out.println("I am studying " + this.major + ".");
    }
}

在上面的代码示例中,我们定义了一个名为Student的类,继承自Person类。除了继承Person类的属性和方法外,Student类还定义了一个major属性和study方法。注意到在构造方法中使用了super关键字调用了父类(Person类)的构造方法。

使用Student类可以这样创建对象:

Student student = new Student("Jerry", 20, "Computer Science");
student.introduce();
student.study();

上面的语句用于创建一个Student对象,并且调用了其父类(Person类)的introduce方法和自己的study方法。

接口

接口是Java中定义一组方法的规范,可以被多个类实现。下面是一个示例:

public interface Runner {
    public void run();
}

public class Athlete implements Runner {
    public void run() {
        System.out.println("I am a runner.");
    }
}

在上面的代码示例中,我们定义了一个名为Runner的接口,它定义了一个run方法。还定义了一个名为Athlete的类,实现了Runner接口。在Athlete类中,我们必须定义一个run方法,以满足Runner接口的要求。接口还可以被其他类实现,以达到类之间的松耦合效果。

使用Athlete类可以这样创建对象:

Runner runner = new Athlete();
runner.run();

上面的语句创建了一个Athlete对象,并且使用Runner类型的变量来引用它,这是因为Athlete实现了Runner接口,所以可以使用Runner类型的变量来引用它。调用run方法可以输出”I am a runner.”。

以上就是Java中类和对象的基本概念和进阶应用,更多内容请参考Java官方文档和深入Java面向对象编程一书。