Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

क्या ओवरराइडिंग विधि, ओवरराइड की गई विधि द्वारा फेंके गए अपवाद के सुपर-टाइप को फेंक सकती है?

नहीं, Java में ओवरराइडिंग विधि, ओवरराइड की गई विधि द्वारा फेंके गए अपवाद के सुपर-टाइप (पैरेंट अपवाद) को नहीं फेंक सकती। ऐसा करने से संकलन-समय त्रुटि होगी।

उदाहरण

import java.io.FileNotFoundException;
import java.io.IOException;

abstract class Super {
    public String readFile(String path) throws FileNotFoundException {
        throw new FileNotFoundException();
    }
}

public class ExceptionsExample extends Super {
    @Override
    public String readFile(String path) throws IOException { // IOException, FileNotFoundException का सुपरक्लास है
        // method body ......
    }
}

संकलन त्रुटि

ExceptionsExample.java:13: error: readFile(String) in ExceptionsExample cannot override readFile(String) in Super
    public String readFile(String path)throws IOException {
                 ^
  overridden method does not throw IOException
1 error

नियम सारांश

  • ओवरराइडिंग विधि वही अपवाद या उसके सबटाइप फेंक सकती है।
  • यह सुपरटाइप नहीं फेंक सकती।
  • यह कोई अपवाद नहीं फेंकने का चयन कर सकती है।
  1. Java में pack() मेथड का उपयोग कब कर सकते हैं? Java में pack() मेथड का उपयोग कब कर सकते हैं?

    pack() मेथड Java में Window क्लास में परिभाषित है और यह फ्रेम को इस तरह आकार देता है कि इसकी सभी सामग्री उनके पसंदीदा आकार पर या उससे ऊपर हैं। pack() मेथड का एक विकल्प setSize() या setBounds() मेथड्स को कॉल करके फ्रेम आकार को स्पष्ट रूप से स्थापित करना है। सामान्य तौर पर, pack() मेथड का उपयोग setSiz

  1. जावा में invokeLater() मेथड को कैसे कॉल करें? जावा में invokeLater() मेथड को कैसे कॉल करें?

    invokeLater() मेथड SwingUtilities क्लास का एक स्टैटिक मेथड है और इसका उपयोग AWT इवेंट डिस्पैचर थ्रेड में असिंक्रोनसली कार्य करने के लिए किया जा सकता है। SwingUtilities.invokeLater() मेथड SwingUtilities.invokeAndWait() की तरह काम करता है सिवाय इसके कि यह अनुरोध को इवेंट क्यू पर रखता है और तुरंत वापस

  1. Java में JPanel के paintComponent() विधि को कैसे लागू करें? Java में JPanel के paintComponent() विधि को कैसे लागू करें?

    एक JPanel एक हल्का कंटेनर है और यह Java में एक अदृश्य घटक है। JPanel का डिफ़ॉल्ट लेआउट FlowLayout है। JPanel बनने के बाद, अन्य घटकों को JPanel ऑब्जेक्ट में इसकी add() विधि को कॉल करके जोड़ा जा सकता है जो Container क्लास से विरासत में मिली है। paintComponent() यह विधि JPanel पर बैकग्राउंड कलर बनाने