java 秉承和继承的区别异常的类和普通类的区别

问题:哪位可以解释一下类继承和接口继承的区别,主要是接口继承的目的,用途等!用java来解释!
[问题点数:0分]
问题:哪位可以解释一下类继承和接口继承的区别,主要是接口继承的目的,用途等!用java来解释!
[问题点数:0分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。Java继承语法
当前位置:
>> Java继承语法
Java继承语法
Java继承语法使用实例/例子代码教程;Java继承语法 继承与Java(以及其他OOP语言)非常紧密地结合在一起
Java继承语法 继承与Java(以及其他OOP语言)非常紧密地结合在一起。我们早在第1章就为大家引入了继承的概念,并在那章之后到本章之前的各章里不时用到,因为一些特殊的场合要求必须使用继承。除此以外,创建一个类时肯定会进行继承,因为若非如此,会从Java的标准根类Object中继承。 用于合成的语法是非常简单且直观的。但为了进行继承,必须采用一种全然不同的形式。需要继承的时候,我们会说:“这个新类和那个旧类差不多。”为了在代码里表面这一观念,需要给出类名。但在类主体的起始花括号之前,需要放置一个关键字extends,在后面跟随“基础类”的名字。若采取这种做法,就可自动获得基础类的所有数据成员以及方法。下面是一个例子:
//: Detergent.java // Inheritance syntax & properties // class Cleanser {
private String s = new String("Cleanser");
public void append(String a) { s += }
public void dilute() { append(" dilute()"); }
public void apply() { append(" apply()"); }
public void scrub() { append(" scrub()"); }
public void print() { System.out.println(s); }
public static void main(String[] args) {
Cleanser x = new Cleanser();
x.dilute(); x.apply(); x.scrub();
x.print();
public class Detergent extends Cleanser {
// Change a method:
public void scrub() {
append(" Detergent.scrub()");
super.scrub(); // Call base-class version
// Add methods to the interface:
public void foam() { append(" foam()"); }
// Test the new class:
public static void main(String[] args) {
Detergent x = new Detergent();
x.dilute();
x.apply();
x.scrub();
x.print();
System.out.println("Testing base class:");
Cleanser.main(args);
这个例子向大家展示了大量特性。首先,在Cleanser append()方法里,字串同一个s连接起来。这是用“+=”运算符实现的。同“+”一样,“+=”被Java用于对字串进行“过载”处理。 其次,无论Cleanser还是Detergent都包含了一个main()方法。我们可为自己的每个类都创建一个main()。通常建议大家象这样进行编写代码,使自己的测试代码能够封装到类内。即便在程序中含有数量众多的类,但对于在命令行请求的public类,只有main()才会得到调用。所以在这种情况下,当我们使用“java Detergent”的时候,调用的是Degergent.main()——即使Cleanser并非一个public类。采用这种将main()置入每个类的做法,可方便地为每个类都进行单元测试。而且在完成测试以后,毋需将main()删去;可把它保留下来,用于以后的测试。 在这里,大家可看到Deteregent.main()对Cleanser.main()的调用是明确进行的。 需要着重强调的是Cleanser中的所有类都是public属性。请记住,倘若省略所有访问指示符,则成员默认为“友好的”。这样一来,就只允许对包成员进行访问。在这个包内,任何人都可使用那些没有访问指示符的方法。例如,Detergent将不会遇到任何麻烦。然而,假设来自另外某个包的类准备继承Cleanser,它就只能访问那些public成员。所以在计划继承的时候,一个比较好的规则是将所有字段都设为private,并将所有方法都设为public(protected成员也允许衍生出来的类访问它;以后还会深入探讨这一问题)。当然,在一些特殊的场合,我们仍然必须作出一些调整,但这并不是一个好的做法。 注意Cleanser在它的接口中含有一系列方法:append(),dilute(),apply(),scrub()以及print()。由于Detergent是从Cleanser衍生出来的(通过extends关键字),所以它会自动获得接口内的所有这些方法——即使我们在Detergent里并未看到对它们的明确定义。这样一来,就可将继承想象成“对接口的重复利用”或者“接口的再生”(以后的实施细节可以自由设置,但那并非我们强调的重点)。 正如在scrub()里看到的那样,可以获得在基础类里定义的一个方法,并对其进行修改。在这种情况下,我们通常想在新版本里调用来自基础类的方法。但在scrub()里,不可只是简单地发出对scrub()的调用。那样便造成了递归调用,我们不愿看到这一情况。为解决这个问题,Java提供了一个super关键字,它引用当前类已从中继承的一个“超类”(Superclass)。所以表达式super.scrub()调用的是方法scrub()的基础类版本。 进行继承时,我们并不限于只能使用基础类的方法。亦可在衍生出来的类里加入自己的新方法。这时采取的做法与在普通类里添加其他任何方法是完全一样的:只需简单地定义它即可。extends关键字提醒我们准备将新方法加入基础类的接口里,对其进行“扩展”。foam()便是这种做法的一个产物。 在Detergent.main()里,我们可看到对于Detergent对象,可调用Cleanser以及Detergent内所有可用的方法(如foam())。javabean和普通类有什么区别_java吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:502,412贴子:
javabean和普通类有什么区别收藏
多了什么功能?
上海java培训一般需要4-8周,就可完全掌握,名企就业.0元试学.java培训的费用一般根据培训的课时决定,可申请0元试学.点击咨询..
区别就在于它有个名字 叫做“javaBean”
如果有区别,那么JavaBean就无意义了。
有豆无豆的区别卡
javabean必须有无参构造函数每个属性有相应的setter和getter其他我就不知道了
必须有setter和getter是一大区别。但无本质区别。JavaBean就是为了使用Java一般类来把业务代码转到后台及实现复用等。
业务模型。。必须是有私有字段,无参,有参构造器,标准的setter| getter,以上。。。
给跪了,各种捣乱的有木有
同跪啊 你纠结这个干嘛它就是一个普通类呀
你不是盛XXX我感觉你的id很熟悉啊
陈??再给点提示?
提示啊。。。esun。。。不知道是不是?
哎呀呀 同学哈
哈哈 那我没认错哈~ 请多指教 呵呵 ~~
你还在读还是工作了?
我还在找工作,那个时候是一块和你们上spring的,所以进度差不多的,就是找的不顺利啊
哦 哦 没事 慢慢来... 三月份正是找工作的好时段
哇。碉堡了。失散多年的好基友?
→_→我的两个小三完爆你
这不是我小四么 咋成你小三了 - -!
这么大能耐
叫你正室现身阿
我觉得有必要提示一下编程这个活是有各种标准和规范的一定要有这个意识javaee就是个规范jsp就是个规范html就是个规范servlet就是个规范javabean就是个规范...无规范不编程查一下
各种歪楼有木有?
爬哟。。。谁是你小三来着我都不认识你我看你是活腻了哈生活的窘迫都不能灭了你你居然还在世上我就代表月亮消灭你吧··哈哈··
还有 以你的资质能找到小三么?最多你去当别人的小三哈哈··
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或4648人阅读
面试(130)
不可以因为接口中只能出现3种成员
1.公共的静态常量(public final static )
2.公共的抽象方法(public abstract )
3.静态内部类(static class)
而一个类中,就算什么都不写,也必须带一个构造方法,在extends时就会被子类继承,如果是接口也会继承这个构造方法,很明显构造方法不在上面三项之列
而如果类中有一般的方法和成员变量,也会被子类全部继承,这些更不能出现在接口中了,所以接口是绝对不可能继承一个类的
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:486421次
积分:5888
积分:5888
排名:第2977名
原创:61篇
转载:430篇
评论:34条
(3)(1)(3)(1)(1)(2)(3)(5)(1)(2)(11)(11)(34)(20)(19)(6)(2)(6)(4)(13)(8)(33)(82)(33)(29)(51)(6)(6)(5)(90)

我要回帖

更多关于 秉承和继承的区别 的文章

 

随机推荐