子类的方法必须覆盖父类的抽象方法

如果让一个非抽象类继承一个含抽象方法的抽象类,则编译时会发生错误。因为当一个非抽象类继承一个抽象方法的时候,本着只有一个类中有一个抽象方法,那么这个类必须为抽象类的原则。这个类必须为抽象类,这与此类为非抽象冲突,所以报错。

所以子类的方法必须覆盖父类的抽象方法。方法才能够起作用。

只有将理论被熟练运用在实际的程序设计的过程中之后,才能说理论被完全掌握!

为了实现多态,那么父类必须有定义。而父类并不实现,留给子类去实现。此时可将父类定义成abstract类。如果没有定义抽象的父类,那么编译会出现错误。

 1 package TomText;
 2 import java.util.*;
 3 //本例展示了如何使用关系和逻辑运算符。
 4 public class TomText_31 {
 5         public static void main(String[] args) {
 6             Random rand = new Random();
 7             int i = rand.nextInt() % 100;
 8             int j = rand.nextInt() % 100;
 9             System.out.println ("i = " + i);
10             System.out.println ("j = " + j);
11             System.out.println ("i > j is " + (i > j));
12             System.out.println ("i < j is " + (i < j));
13             System.out.println ("i >= j is " + (i >= j));
14             System.out.println ("i <= j is " + (i <= j));
15             System.out.println ("i == j is " + (i == j));
16             System.out.println ("i != j is " + (i != j));
17             System.out.println ("(i < 10) && (j < 10) is " + ((i < 10) && (j < 10)) );
18             System.out.println ("(i < 10) || (j < 10) is " + ((i < 10) || (j < 10)) );
19               }
20
21 }

原文地址:https://www.cnblogs.com/borter/p/9419299.html

时间: 2024-10-16 20:47:48

子类的方法必须覆盖父类的抽象方法的相关文章

关于继承时子类重写父类方法和覆盖父类变量的若干问题

假设,子类重载父类的方法,并将子类的成员覆盖. 创建子类对象实例,将其上转型成父类. 例子1 public class Parent { public void init() { System.out.println("1 init parent"); this.demo(); } public void demo() { System.out.println("2 demo parent"); } } public class Son extends Parent

java中子类覆盖父类方法所必须满足的条件

一.描述 子类重写(覆盖)父类的方法必须满足的条件: 1.父类中的方法在子类中必须可见,即子类继承了父类中的该方法(可以显式的使用super关键字来访问父类中的被重写的方法), 如果父类中的方法为private类型的,那么子类则无法继承,也无法覆盖. 2.子类和父类的方法必须是实例方法,如果父类是static方法而子类是实例方法,或者相反都会报错. 如果父类和子类都是static方法,那么子类隐藏父类的方法,而不是重写父类方法. 3.子类和父类的方法必须要具有相同的函数名称.参数列表,并且子类的

Python3基础 父,子类普通方法同名 子类方法覆盖父类方法

镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.------------------------------------------ code: class Parent : def hello(self) : print('我是本') class Child(Parent) : #child类继承与 parent类 def hello(self) : #parent类中有hello方法,但是这里也定义了一个hello方

override(重写,覆盖) 1、方法名、参数、返回值相同。 2、子类方法不能缩小父类方法的访问权限。 3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。 4、存在于父类和子类之间。 5、方法被定义为final不能被重写。 overload(重载,过载) 1、参数类型、个数、顺序至少有一个不相同。 2、不能重载只有返回值不同的方法名。 3、存在于父类和子

override(重写,覆盖) 1.方法名.参数.返回值相同. 2.子类方法不能缩小父类方法的访问权限. 3.子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常). 4.存在于父类和子类之间. 5.方法被定义为final不能被重写. overload(重载,过载) 1.参数类型.个数.顺序至少有一个不相同.   2.不能重载只有返回值不同的方法名. 3.存在于父类和子类.同类中. 方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现. 重写(O

java基础 静态 static 问在多态中,子类静态方法覆盖父类静态方法时,父类引用调用的是哪个方法?

多态 package com.swift.jiekou; public class Jicheng_Tuotai_jingtai_diaoyong { public static void main(String[] args) { Fu f=new Zi(); f.show(); } } class Fu{ static int x=1; public static void show() { System.out.println("父类的方法"+x); } } class Zi e

2016.7.11子父类中方法的覆盖要点

子类new出来的对象,可以调用父类中的方法(private修饰的除外),但当子类中出现父类方法名以及参数一样的方法时,子类中的方法就是重载,覆盖父类中的相同的方法. 注意的方面: 1.子类中的方法与父类中的方法在“有无返回”.“有无参数”都应该一样的.不一样无法覆盖,但是子类中的方法还是可以被调用的,因为它就是区别于父类中的方法了. 2子类中权限修饰符的等级一定要大于或者等于父类中的,不然也是无法覆盖的哦.(public>defualt默认的>private) 3.静态的方法只能覆盖静态的方法

python 类 四 : 类的继承与覆盖父类方法

python 继承,子类可以覆盖父类的各种方法,包括__init__方法. 如果要覆盖父类的__init__方法,且希望在覆盖的方法中引用父类的__init__方法,比如在父类的__init__方法的基础上增加一些属性的设置或者其他. 则需要显示的引用父类的方法,否则,父类的方法不会被直接调用到的. 比如: #coding:utf-8 # c继承了p,并实现了自己的__init__方法,也就是重新实现了__init__方法,但为了减少代码冗余 # c在自己的__init__方法里面引用了p的__

Eclipse用法和技巧十七:覆盖父类方法

在学校里面学习java,遇到访问权限修饰符一直停留在public是公有的,外面可以访问:protected是对子类可见的,外部不可以访问:private仅在本类中可见.工作之后,接触到了java代码多了,认识就不一样.public,就是接口:protected就是用来给别人继承的,回调用的多:private内部操作,操作结果通过public方法反馈.在android开发中经常要覆盖父类的方法,在eclipse中可以不用一个个去重写,有很方便的工具大大减少工作量.        步骤一:Sourc

继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类。 (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法。 (3)子类中定义的成员变量和父类中定义的成员变量相同时,则父类中的成员变量不能被继承。 (4)子类中定义的成员方法,并且这个方法的名字返回类型,以及参数个数和类型与父类的某个成员方法完全相同,则父类的成员方法不能被继承。 分析以上程

继承的基本概念: (1)Java不支持多继承,也就是说子类至多只能有一个父类. (2)子类继承了其父类中不是私有的成员变量和成员方法,作为自己的成员变量和方法.(3)子类中定义的成员变量和父类中定义的成员变量相同时,则父类中的成员变量不能被继承.(4)子类中定义的成员方法,并且这个方法的名字返回类型,以及参数个数和类型与父类的某个成员方法完全相同,则父类的成员方法不能被继承. 分析以上程序示例,主要疑惑点是“子类继承父类的成员变量,父类对象是否会实例化?私有成员变量是否会被继承?被继承的成员变量