java 中普通类继承,抽象类实现接口继承,接口类继承,子类一定要重写父类中的方法吗

匿名用户不能发表回复!|JAVA中父类的抽象方法和接口,子类必须继承?_百度知道
JAVA中父类的抽象方法和接口,子类必须继承?
我有更好的答案
都得继承,但是方法不一定得实现,你子类也可以声明为抽象类或者接口,这样的话方法不需要去实现。
采纳率:14%
为您推荐:
其他类似问题
您可能关注的内容
java的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。JAVA 继承基本类、抽象类、接口介绍
转载 & & 作者:
Java是一个面向对象的语言,java面向对象一般有三大特征:封装、继承、多态
封装:就是把一些属性和方法封装到一个类里。 继承:就如子类继承父类的一些属性和方法。 多态:就如一个父类有多个不同特色的子类。 这里我就不多讲解,下面我主要说明一个继承。继承是OOP(面向对象)的一个特色,java只支持单继承(如果继承两个有同样方法的父类,那么就不知道继承到那个父类的,所以java只支持单继承)。继承是java的一个特色,我们用的所以类都继承Objict类,所以就要Object类的方法,如toString()、getClass()、wait()……所以我们建立的类都有父类。 Java中一般有三种类: 基本类:也就是一般的类(一般所说的类就是基本类),是对象的模板,是属性和方法的集合。可以继承其他基本类、抽象类、实现接口。 抽象类:有抽象方法的类(抽象方法就是该方法必须由继承来实现,本身只定义,不实现)。抽象类可以有一个或多个抽象方法,他是基本类和接口类的过度。 接口类:一般叫做接口,该类中的所有方法都是抽象方法,该类的方法本身只定义不实现。 抽象类和接口一个由【abstract class + 抽象类名】一个由【interface +接口名】定义,接口中的所以方法都是抽象方法,而抽象类有部分方法是自身实现了的,一些只定义不实现。 基本类的定义:
代码如下: public class Fruit { public void price() { System.out.println("水果价格"); } public void weight() { System.out.println("水果重量"); } }
抽象类的定义:
代码如下: public abstract class Fruit { public void price() { System.out.println("水果价格"); } public abstract void weight(); }
接口类的定义:
代码如下: public interface Fruit { public void price(); public void weight() ; }
从上面我们可以看出接口就是抽象类的升级版,由于该类的方法全是抽象方法,所以把abstract换成interface。而接口的方法必须由子类才能实现。 继承 继承基本类,可以继承父类的方法,也可以从些,也可以扩充。下面是实现接口基本类的类:
代码如下: public class Apple extends Fruit { }
该类中就有Fruit基本类中的两个方法:price()和weight(); 继承抽象类,必须实现抽象类的抽象方法,可以修改父类的方法,和添加方法。下面是继承抽象类的类:
代码如下: public class Apple extends Fruit { @Override public void weight() { System.out.println("水果重量"); } }
该类继承类Fruit的price()方法,同时实现了Fruit抽象类的weight()方法。 继承接口类(也就实现接口),必须实现接口类的所有的抽象类和添加了。下面是继承接口的类:
代码如下: public class Aple implements Fruit { @Override public void price() { System.out.println("水果价格"); } @Override public void weight() { System.out.println("水果重量"); } }
该类是实现Fruit接口的所以抽象方法。 Java只支持单继承(继承基本类和抽象类),但是我们可以用接口来实现(多继承接口来实现) 如:public class Apple extends Fruit implements Fruit1, Fruit2{} 一般我们继承基本类和抽象类用extends关键字,实现接口类的继承用implements关键字。其实继承是很简单的,可以就是没有弄清这两个关键字,当我们弄清楚也就是比较简单的。 接口也可以继承接口如:public interface Fruit1 extends Fruit {}这是接口中的多重继承,同理抽象类和基本类也同理。如果我们把基本类添加final修饰,也就定义该类不被继承,该类不能作为父类。同时基本类的方法可以用public 、private、proptected来修饰方法,用final来阻止继承该方法。 这里只是自己的理解,有些地方时用词不当的,只是觉得这样用词更好的理解,请大家谅解。有些地方由于不是这里的重点,没有讲清楚,希望大家通过其他方式了解。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具JAVA问题,父类为抽象类,子类继承父类后,为什么还要把抽象类的方法重写?那为什么不直接创建个方法?_百度知道
该问题可能描述不清,建议你
JAVA问题,父类为抽象类,子类继承父类后,为什么还要把抽象类的方法重写?那为什么不直接创建个方法?
我有更好的答案
如果子类继承的父类是抽象类抽象类可以没有抽象方法,也可以全部是抽象方法,也就是创建对象,子类必须重写父类里所有的(是所有的)抽象方法,才能被实例化
如果子类继承的父类是抽象类抽象类可以没有抽象方法,也可以全部是抽象方法,也就是创建对象,子类必须重写父类里所有的(是所有的)抽象方法,才能被实例化
父类(抽象类)中既有抽象方法又有普通方法,因为抽象类中的抽象方法没有实现(也就是没有具体的功能代码),子类只需重写抽象方法即可。用的时候
父类 f = new 子类();
即声明父类对象指向子类应用(多态),此时若子类不实现父类中的抽象方法,则 f.抽象方法() 会报异常,因此必须要重写,若楼主是初学则不必深究,学完了做做小项目慢慢就领会了。
抽象类、抽象方法,就是这样定义的不想重写,就不要写成抽象的方法。。。。。。。
实现父类的方法。便于修改。
当初我也是这样想的,子类也可以自己创建个方法,而不用重写,多麻烦啊!在java中,规定了假如父类为抽象类,子类继承父类后,必须重写抽象类的方法。既然叫抽象类了,那么从简单意义上理解,是看不懂的,所以父类中只说明了方法而没有具体实现其方法,但是子类继承父类,只有在子类中把方法重写,才能在创建子类的过程中实例化并应用此方法。你在以后的学习中会了解的。建议你看《毕向东_Java基础视频教程》?在哪里看呢?百度搜索黑马程序员,点击第一个网页,然后点击页面条的视频课程,我现在就是在看这个视频,非常不错,强烈建议你看,说的非常详细和透彻。
其他6条回答
为您推荐:
其他类似问题
抽象类的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。子类继承父类要重写父类的 抽象方法吗_百度知道
子类继承父类要重写父类的 抽象方法吗
我有更好的答案
如果是一个子接口,可以扩展父接口的方法;如果是一个子抽象类,可以部分或全部实现父接口的方法;如果子类不是抽象类。2不一定。1. 普通类继承,则要求子类一定要实现父接口中定义的所有方法. 抽象类继承,如果子类也是一个抽象类,并不要求一定重写父类方法,并非一定要重写父类方法,则要求子类一定要实现父类中的抽象方法。3. 接口类继承。如果子类不是抽象类
采纳率:74%
来自团队:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 抽象类实现接口 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信