Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1146|回复: 0

接口,超类,子类,重写,重载,函数的构造,INT和SUPER的用法

[复制链接]

该用户从未签到

发表于 2011-8-1 22:48:41 | 显示全部楼层 |阅读模式
今天看到接口,超类,子类,重写,重载,函数的构造,INT和SUPER的用法...头疼啊..谁能给我理一理啊~~~~谢谢
回复

使用道具 举报

  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2011-8-1 22:49:24 | 显示全部楼层
    我们知道,Java是面向对象的,来源于生活,因此一些不好解释的我们还要归结于生活。比如超类与子类,我们说一个子类只能有一个超类,这是符合自然逻辑的,如果子类有两个超类你想想生活中可能会出现吗,所以,子类只能实现单继承;那么如果不同超类的子类有很多共性,那么我们怎么办,那就只有把这些共性抽象出来,放在一个接口里面,让需要有这些共性的子类去实现(important),这就是子类,超类,和接口,我说的你能明白不
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2011-8-1 22:52:58 | 显示全部楼层
    java不答应多重继续,也就是说一个子类只能有一个父类, Son extends FatherA,FatherB 是错误的
    为了弥补这点不足,java答应实现多个接口,接口就是给出一些没有内容的方法,类似于C++中的虚类。到详细用的时候再由用的方法自己定义内容,要留意的是想用接口必需实现接口的所 有方法。
    实在是由于java不支持多继续才产生了接口


    接口是用来规范类的
    它可以避免类在设计上的不一致
    这在多人合作的开发中犹为重要

    就好比接口中有A方法
    那么实现这个接口就必需实现A方法
    这就形成了一种规范
    也就是说,A继续了B,但却想使用C的一个方法,但又不能再继续,所以就使用了C的接口。

    Java接口和Java抽象类代表的就是抽象类型,就是我们需要提出的抽象层的详细表现。OOP面向对象的编程,假如要进步程序的复用率,增加程序的可维护性,可扩展性,就必需是面向接口的编程,面向抽象的编程,准确地使用接口、抽象类这些太有用的抽象类型做为你结构层次上的顶层。

    Java接口和Java抽象类有太多相似的地方,又有太多特别的地方,毕竟在什么地方,才是它们的最佳位置呢?把它们比较一下,你就可以发现了。

    1、Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部门实现,而Java接口不可以,这大概就是Java抽象类独一的长处吧,但这个长处非常有用。
    假如向一个抽象类里加入一个新的详细方法时,那么它所有的子类都一下子都得到了这个新方法,而Java接口做不到这一点,假如向一个Java接口里加入一个新方法,所有实现这个接口的类就无法成功通过编译了,由于你必需让每一个类都再实现这个方法才行,这显然是Java接口的缺点。

    2、一个抽象类的实现只能由这个抽象类的子类给出,也就是说,这个实现处在抽象类所定义出的继续的等级结构中,而因为Java语言的单继续性,所以抽象类作为类型定义工具的效能大打折扣。
    在这一点上,Java接口的上风就出来了,任何一个实现了一个Java接口所划定的方法的类都可以具有这个接口的类型,而一个类可以实现任意多个Java接口,从而这个类就有了多种类型。

    3、从第2点不丢脸出,Java接口是定义混合类型的理想工具,混合类表明一个类不仅仅具有某个主类型的行为,而且具有其他的次要行为。

    4、结合1、2点中抽象类和Java接口的各自上风,具精典的设计模式就出来了:声明类型的工作仍旧由Java接口承担,但是同时给出一个Java抽象类,且实现了这个接口,而其他同属于这个抽象类型的详细类可以选择实现这个Java接口,也可以选择继续这个抽象类,也就是说在层次结构中,Java接口在最上面,然后紧随着抽象类,哈,这下两个的最大长处都能施展到极至了。这个模式就是“缺省适配模式”。
    在Java语言API顶用了这种模式,而且全都遵循一定的命名规范:Abstract +接口名。

    Java接口和Java抽象类的存在就是为了用于详细类的实现和继续的,假如你预备写一个详细类去继续另一个详细类的话,那你的设计就有很大题目了。Java抽象类就是为了继续而存在的,它的抽象方法就是为了强制子类必需去实现的。

    使用Java接口和抽象Java类进行变量的类型声明、参数是类型声明、方法的返还类型说明,以及数据类型的转换等。而不要用详细Java类进行变量的类型声明、参数是类型声明、方法的返还类型说明,以及数据类型的转换等。

    我想,假如你编的代码里面连一个接口和抽象类都没有的话,也许我可以说你根本没有用到任何设计模式,任何一个设计模式都是和抽象分不开的,而抽象与Java接口和抽象Java类又是分不开的。

    理解抽象,理解Java接口和抽象Java类,我想就应该是真正开始用面向对象的思惟去分析题目,解决题目了吧。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-1-11 04:07 , Processed in 0.317816 second(s), 35 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表