首页 > 解决方案 > java中的方法和子类

问题描述

我有一个名为 Movie 的类,它的数据和一个在屏幕上打印它的方法。我有另一个类 MovieOV,它是一个从 Movie 继承的类。此外,MovieOV 有一个新字段也可以保存语言。如果是 MovieOV,我如何修改该方法以便它也打印语言?

标签: java

解决方案


您可以在子类中覆盖相同的显示方法,因为基类中的显示方法将被该方法覆盖

/* package codechef; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

class Movie{
    String movieName;
    public Movie(String movieName){
        this.movieName=movieName;
    }
    public void display()
    {
        System.out.println("Movie Name: "+this.movieName);
    }
}

class MovieOV extends Movie{
    String lang;
    public MovieOV(String movieName,String movieLang)
    {
        super(movieName);
        this.lang=movieLang;
    }
    public void display()
    {
        System.out.println("Movie Name: "+this.movieName);
        System.out.println("Language: "+this.lang);
    }
}

/* Name of the class has to be "Main" only if the class is public. */
class Codechef
{
    public static void main (String[] args) throws java.lang.Exception
    {
        // your code goes here
        MovieOV obj=new MovieOV("Koyla (1996)","Hindi");
        obj.display();
    }
}

如您所见,我继承了以movieName 作为其实例变量的Movie 类和显示它的显示方法。当我在基类 MovieOP 中实现相同的方法时,将覆盖 Movie 类的 display 方法,并调用 MovieOP 的 display 方法。您可以使用此关键字引用 Movie 类的实例变量。


推荐阅读