What is a supertype method?

2019-03-16 17:40发布

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

6条回答
爱情/是我丢掉的垃圾
2楼-- · 2019-03-16 17:41

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

查看更多
劫难
3楼-- · 2019-03-16 17:58

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).

查看更多
甜甜的少女心
4楼-- · 2019-03-16 17:59

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();
        }
}
查看更多
干净又极端
5楼-- · 2019-03-16 18:03

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

查看更多
等我变得足够好
6楼-- · 2019-03-16 18:05

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.

查看更多
Explosion°爆炸
7楼-- · 2019-03-16 18:07

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();
    }
}
查看更多
登录 后发表回答