java中,子类改写或者重载父类的所有方法,这样的子类和父类一点关系没有了,还叫子类吗

2024-11-15 11:15:49
推荐回答(5个)
回答1:

哈哈哈哈,提问有点意思。
首先,我先纠正你一个概念性的东西,就是在java中没有子类重载父类方法的概念。重载的定义,在同一个类中,方法名相同,参数列表不同,与返回值无关。所以只有子类重写父类的方法,没有子类重载父类,这个你要记住。
你提出这个问题,主要还是因为你没有弄清java三大特性之一的继承概念,同时呢,还反映出你代码敲的太少,仅仅是从概念上抠字眼儿而已,缺乏形象上的思维。
继承是一种关系的传递。若类C继承类B,类B继承类A,则类C既有从类B那里继承下来的属性与方法,也有从类A那里继承下来的属性与方法,还可以有自己新定义的属性和方法。继承来的属性和方法尽管是隐式的,但仍是类C的属性和方法。继承是在一些比较一般的类的基础上构造、建立和扩充新类的最有效的手段。
在我们写程序中,一般父类总是以抽象类或者接口的形式体现,然后子类通过继承或者实现接口的方式来写。比如当我们在模拟实现一个各种汽车跑的程序,运用面向对象的思维,首先我们会抽象出一个汽车总类,可以就叫汽车类。这时候我们应该想象出汽车具有哪些属性,哪些方法。
一个最基本的汽车,至少应该有车型,颜色,名字等一些属性。也必须有停止,倒退前进等方法。这些都是我们抽象出来的结果。
但是具体现实中有很多种车,每种车的各种实际的属性方法却各有不同,但是他们都会包括我们定义的汽车类里面的属性和方法。然后我们通过继承这些属性方法,在重写这些方法,达到我们各种车辆跑的程序。这样做代码的复用性就大大的增强,不需要再每写一个类而重新定义相同的方法。子父类的说法,只是一个文字上的比喻,不必太过于纠结,只有当你通过不断的敲代码,掌握了整个程序的运作流程,你自然就会理解继承这个概念了。
但是光继承还不算是代码复用性的最大化,真正的复用性最大话就是经典的多态机制了,这是后话,前提你得先理解继承的概念。
祝你好运~~

回答2:

你继承了你父亲的一些特征,随着你的成长,这些特征有的发生了变化,你还是你父亲的儿子吗?

回答3:

不是的。子类改写或重载父类的方法,可还是可以从父类继承属性的啊。

回答4:

子类和父类之间没有重载之说,重载只在一个类中进行,而两个类之间是重写

回答5:

子类继承了父类的所有字段和方法,当然子类可以重载父类的方法,这些重载的方法也只属于子类。