一、接口的使用
1、接口的定义,基本语法格式如下:
[修饰符]interface接口名 [extends父接口名列表]{ [public][static][final] 变量; [public][abstract] 方法;}
/*
1、修饰符是可选参数,指定接口的访问权限,可选值为public或省略默认 2、接口名是比选参数,必须是合法的Java标识符 3、extends 父接口名列表是可选参数,用于说明要定义的接口继承于哪个父接口。 4、方法:接口定义的方法只有定义而没有具体实现的代码
2、接口名是比选参数,必须是合法的Java标识符 3、extends 父接口名列表是可选参数,用于说明要定义的接口继承于哪个父接口。4、方法:接口定义的方法只有定义而没有具体实现的代码
*/
publicinterfaceICalculate{//接口名必须与接口文件名相同finalfloatPI=3.14159f;//定义圆周率常量floatgetArea(floatr);//定义计算面积方法(但不具体实现)floatgetCircumference(floatr);//定义计算周长方法(但不具体实现)
}
2、接口的实现接口在定义后,可以在继承该接口的类中实现,须用implements关键字表示继承的接口。针对上例,一个具体类的实现代码如下:
publicclassCire implement ICaculate{
publicfloatgetArea(floatr){
floatarea=PI*r*r;
returnarea;
}
publicfloatgetCircumference(floatr){
floatcircumference=2*PI*r;
returncircumference;
}
}
二、类的继承1、继承的实现
[修饰符]class 子类名extends 父类名{…}
//实例
publicclassBird{
String color=”白色”;
String skin=”羽毛”;
}
publicclassPigeonextendsBird{
publicstaticvoidmain(String[] args){
Pigeon pigeon=newPigeon();
System.out.println(Pigeon.color);
}
2、当父类中的部分方法对子类不能满足要求时,子类要对该同名方法进行重写。
//实例 Bird.java
publicclassBird{
String color="白色";
String skin="羽毛";
publicvoidcry(){
System.out.println("鸟鸣!");
}
}
//Pigeon.java
publicclassPigeonextendsBird{
publicvoidcry(){
System.out.println("鸽子叫!");
}
publicstaticvoidmain(String[] args){
Pigeon pigeon=newPigeon();
pigeon.cry();
}
}
三、多态类的多态性通常就是通过方法的重载(Overloading)和重写(Overriding)来实现。重写即为上面描述的子类中对父类同名方法的重写。
重载是指在同一个类中出现多各方法名相同,但参数个数或参数类型不同的方法(前面讲到构造方法时,无参构造方法和有参构造方法也是一种重载),在程序执行时,将根据调用参数的个数和类型自动匹配相适应的方法。
/*定义一个名为Calculate的类,在类中定义两个getArea方法*和两个draw方法
*/
publicclassCalculate {
finalfloatPI=3.14159f;
//计算圆面积
publicfloatgetArea(floatr){
returnPI*r*r; }
//计算矩形面积publicfloatgetArea(floatlength,floatwidth){
returnlength*width; }
//画出num个任意形状的图形
publicvoiddraw(intnum){ System.out.println("画了"+num+"个图形!");}
//画指定形状的图形
publicvoiddraw(String shape){ System.out.println("画了一个"+shape+"!");}
publicstaticvoidmain(String[] args){Calculate pic=newCalculate();
floatl=20f;
floatw=15f;
floatarea1=pic.getArea(l,w);
System.out.println("矩形面积是"+area1);
floatr=9.12f;
floatarea2=pic.getArea(r);System.out.println("圆形面积是"+area2);
intnum=7;
pic.draw(num); pic.draw("不规则形状"); } }
相关阅读:
尚学堂–8月开班时间
免费公开课
每周一、四、六
周一周四公开课:下午两点开始
周六公开课:早上九点开始
在公众号主页发送【试听】获取免费听课名额
Java–零基础入门就业班
开课时间:
2017年8月22日
仅剩少量座位
电话:029-62258374
上课地址:陕西省西安市高新区科技二路西安软件园天泽大厦五楼
点击下方“阅读原文”,获取免费听课名额
声明:本文部分素材转载自互联网,如有侵权立即删除 。
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
丞旭猿论坛
暂无评论内容