java关于接口的实例
来源:互联网 发布:河北电视新闻网络直播 编辑:程序博客网 时间:2024/04/26 09:35
#接口#
package 接口;/* * 定义一个rec_Area_Peri接口, * 里面有两个方法getArea()和getPerimeter(), * 分别表示“计算面积”和“计算周长”; * 再定义一个Rectangle类,实现接口rec_Area_Peri。 */public interface rec_Area_Peri {abstract int getArea();abstract int getPerimeter();}
#rectangle类#
package 接口;class rectangle implements rec_Area_Peri{int width;int length;public rectangle(int w,int l){width = w;length = l;}public int getArea(){return length * width;}public int getPerimeter(){return 2 * (length + width);}}
#测试Test类#
package 接口;public class Test_interface {public static void main(String[] args) {rectangle rect = new rectangle(30, 40);System.out.println("矩形的面积: " + rect.getArea());System.out.println("矩形的周长: " + rect.getPerimeter());}}//1. 在实现类Rectangle中注释掉一个方法后进行编译,看发生了什么?为什么?//error: The type rectangle must implement the inherited abstract method rec_Area_Peri.getArea()//2. 在实现类Rectangle中将各实现方法前的public修饰符去掉再进行编译,看发生了什么?为什么?//error: Cannot reduce the visibility of the inherited method from rec_Area_Peri//原因:一个类实现一个接口时,必须使接口中的方法是 public 访问控制符//3. 将接口rec_Area_Peri中定义的两个方法前加上abstract修饰符再编译,看对程序有影响否?为什么?//没有影响,原因:interface 里的方法默认为隐式 public 和 abstract类型//4. 将接口rec_Area_Peri中定义的两个方法拆分定义成两个接口,即每个接口只定义一个方法,程序将如何修改?/* public interface rec_Area_Peri1 {abstract int getArea();} public interface rec_Area_Peri2 {abstract int getPerimeter();}class rectangle implements rec_Area_Peri1,rec_Area_Peri2{int width;int length;public rectangle(int w,int l){width = w;length = l;}public int getArea(){return length * width;}public int getPerimeter(){return 2 * (length + width);}} */
测试结果:
其他结果不做测试...........
把上述程序的接口改为抽象类,程序实现如下:
# abstract_rec_Area_Peri类 #
package 抽象类;abstract class abstract_rec_Area_Peri {abstract int getArea();abstract int getPerimeter();}
#rectangle1类#
class rectangle1 extends abstract_rec_Area_Peri {int width;int length;public rectangle1(int w,int l){width = w;length = l;}public int getArea(){return length * width;}public int getPerimeter(){return 2 * (length + width);}}
#Test_atstract类#
public class Test_atstract {public static void main(String[] args) {rectangle1 rect1 = new rectangle1(80, 90);System.out.println("矩形的面积: " + rect1.getArea());System.out.println("矩形的周长: " + rect1.getPerimeter());}}
测试结果:
0 0
- java关于接口的实例
- 关于JAVA接口“实例”
- 关于接口的实例
- 关于Android(JAVA)实例化接口假象的讨论
- 接口的作用|实例讲解java接口
- java 接口的 实例化
- java接口的”实例化“
- Java的接口及实例
- Java的接口及实例
- Java的接口及实例
- Java的接口及 实例
- Java的接口及实例
- 关于jndi(Java Naming and Directory Interface)java的命名与目录实例的接口
- 关于C#的接口实例化
- 关于接口可以实例化的问题
- 关于接口的基本应用实例讲解
- 关于接口和接口中多肽问题的实例
- 【java】接口的作用|实例讲解java接口
- 近期总结
- Qt5.2.1移植新唐n32905测试
- 【未来的目标与规划】2014.4.11
- NSTimer你真的会用了吗
- Java 中数据转换成为JSON的形式
- java关于接口的实例
- 大流量程序设计与实现--系列一
- 大流量程序设计与实现--系列二
- 大流量程序设计与实现--系列三
- 类模板中使用友元函数
- 大流量程序设计与实现--系列四
- 【简单题】【异或的妙用】-DlutOj-1216
- 调用window.open打开新窗口后,给父窗口传递值
- 流表