2. overload、override、abstract分别是什么意思?
发布网友
发布时间:2022-04-26 12:28
我来回答
共3个回答
热心网友
时间:2022-06-28 06:42
重载 (Overload): 类中定义的方法的不同版本,用于同一个类的所有方法(包括从父类中继承而来的方法)。表示有两个或以上函数同名,但参数的个数和/或类型不同,可以省略这个关键字。
特点:(两必须一可以)
方法名必须相同
参数列表必须不相同
返回值类型可以不相同
重写(Override): 子类中为满足自己的需要来重新定义父类某个方法的不同实现。
通过使用override关键字来实现重写。
只有虚方法和抽象方法才能被重写。
要求:(三相同)
相同的方法名称
相同的参数列表
相同的返回值类型
重载与重写的相同点:
1. 都要求相同的方法名
2. 都可以用于抽象方法和非抽象方法之间
重载与重写的不同点:
1. 方法重载要求参数列表必须不一致,而方法重写要求参数列表必须一致。
2. 方法重载不*返回类型,而方法重写要求返回类型必须一致。
3. 方法重载用于同一个类的所有方法(包括从父类中继承而来的方法),方法重写只能用于子类重写父类的方法。
4. 方法重写对方法的访问权限和抛出的异常有特殊的要求,而方法重载在这方面没有任何*。
5. 父类的一个方法只能被子类重写一次,而一个方法在所在的类中可以被重载多次。
Overload和Override是两个没有关系的东西,他们可以同时出现,也可以分别出现,表达的意思也完全不同。
抽象类机制中总是要定义一个公共基类,而将特定的细节留给继承都来实现.具体的说,当需要创建一个基础的对象,而创建所需的某些方法并没有完整地定义出来时,就需要用到抽象类.通过使用抽象概念,可以在开发项目中创建扩展性很好的架构。
祝你成功。
热心网友
时间:2022-06-28 06:43
abstract抽象,就是说可以没有方法体。但是含有抽象方法的类必须定义为抽象类。
public abstract class cc{
public abstract void function();//没有方法体的。靠子类继承这个抽象类的时候去实现它。
}
热心网友
时间:2022-06-28 06:43
重载 重写 抽象
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
抽象 不用解释了吧