What is a supertype method?

后端 未结 6 1315
情话喂你
情话喂你 2021-02-03 14:12

I have googled couple of times but still can\'t understand the supertype method. Can anyone please explain what is this?

相关标签:
6条回答
  • 2021-02-03 14:40

    In java every thing are object and a method is also a object of class java.lang.reflect.Method So the super type of method can be consider as the super class of java.lang.reflect.Method that is the AccessibleObject.

    0 讨论(0)
  • 2021-02-03 14:46

    Super Type and sub type is a property of inheritance i.e for the purpose of re-usability of code. I am giving you example of Super Class and Sub class. For more you can follow here.

    using System;

    namespace MultilevelInheritance
    {
        public class Customer
        {
            public float fDis { get; set; }
            public Customer()
            {
                Console.WriteLine("I am a normal customer.");
            }
            public virtual void discount()
            {
                fDis = 0.3F;
                Console.WriteLine("Discount is :{0}", fDis);
            }
    
        }
        public class SilverCustomer : Customer
        {
            public SilverCustomer()
                : base()
            {
                Console.WriteLine("I am silver customer.");
            }
            public override void discount()
            {
                fDis = 0.4F;
                Console.WriteLine("Discount is :{0}", fDis);
            }
        }
        class GoldenCustomer : SilverCustomer
        {
            public GoldenCustomer()
            {
                Console.WriteLine("I am Golden customer.");
            }
            public override void discount()
            {
                fDis = 0.6F;
                Console.WriteLine("Discount is :{0}", fDis);
            }
    
        }
    }
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace MultilevelInheritance
    {
        class Program
        {
            static void Main(string[] args)
            {
                Customer objCus = new Customer();
                objCus.discount();
    
                SilverCustomer objSil = new SilverCustomer();
                objSil.discount();
    
                GoldenCustomer objGold = new GoldenCustomer();
                objGold.discount();
    
    
                Console.ReadLine();
            }
        }
    }
    

    enter image description here

    0 讨论(0)
  • 2021-02-03 14:48

    if you are talking about calling a super method, you should try the following

    1. create a class with a method public method e.g. printSomething()

      public void printSomething() { System.out.println("hello, I am the first class"); }

    2. create a second class which inherites from the first class and override the printSomething method

      @override public void printSomething() { super.printSomething(); }

    3. write a small programm which call the method printSomething of class two and see what will happen

    0 讨论(0)
  • 2021-02-03 14:50

    Super is used to invoke parent class Properties used at 3 levels variable constructer and method level

    1.Super at Variable

    class Super
    {
        int age;
        Super(int age)
        {
            this.age=age;
        }
            public void getAge()
            {
                System.out.println(age);
            }
    }
    class Sub extends Super
    {
        Sub(int age)
        {
            super(age);
        }
        public static void main(String[] args)
        {
             Super obj=new  Super(24);
             obj.getAge();
        }
    }
    
    0 讨论(0)
  • 2021-02-03 14:53

    Super at Constructer level

        class SuperClass
    {
        int num=10;
        public void display()
        {
            System.out.println("Superclass display method");
        }
    }
    class SubClass extends SuperClass
    {
        int num=20;
    
        public void display()
        {
            System.out.println("the value of subclass variable name:"+num);
            System.out.println("Subclass display method");
        }
            public void Mymethod()
            {
                super.display();
                System.out.println("the value of superclass variable name:"+super.num);
            }
            public static void main(String[] args)
            {
                SubClass obj=new SubClass();
                obj.Mymethod();
                obj.display();
            }
    }
    
    0 讨论(0)
  • 2021-02-03 15:04

    There is a notion of supertype and subtype in OOPS, In java this kind of relationship is implemented by inheritance i.e. using extends keyword:

    class A {} // super class
    class B extends A {} //sub class
    

    Any member (fields, methods) declared in super class is to be called supertype.

    Therefore in above context if class A has method like

    class A {
       void set()
    }
    

    Set is supertype method for class B.

    However, notice that if there is another class say C:

    class C {
        void set()        
    }
    

    Then set() method is not supertype for C class because there is no relationship between class A and class C (relationship is created by extends keyword, for inheritance).

    0 讨论(0)
提交回复
热议问题