JAVA 继承基本类、抽象类、接口

本文深入解析Java面向对象编程的三大特性:封装、继承与多态。详细阐述了封装的概念与作用,继承的原理与限制,以及多态的实现与应用。进一步介绍了Java中的基本类、抽象类与接口的区别与联系,详细解释了如何通过继承与实现接口来扩展类的功能。最后讨论了Java的单继承特性及其解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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来阻止继承该方法。

这里只是自己的理解,有些地方时用词不当的,只是觉得这样用词更好的理解,请大家谅解。有些地方由于不是这里的重点,没有讲清楚,希望大家通过其他方式了解。


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值