Java接口的作用及实例
-
近日在编程中用到接口知识,由于课本中对接口描述较少,所以想从网上查找资料,但网上的资料大多也只是冗长的描述,所以在此提供一自己写的实例,供大家参考:
原题是这样的:在java中,定义一个接口,声明计算长方形面积和周长的抽象方法,再用一个类去实现这个接口,再编写一个测试类去使用这个接口。
首先,接口必须单独存放,如果我们用eclipse编程的话,它们提示:The public type **** must be defined in its own file,意思是必须要定义在其自己的文件中,所以要为接口文件单独存放起来,举例,我们的接口要实现获到矩形的长,宽,面积,周长,所以定义以下的接口。
public interface calrect {
public abstract int calarea();
public abstract int calgirth();
public abstract int getx();
public abstract int gety();
}
注意,定义接口就像定义类一样,接口的访问控制符只能用public,用public定义的接口可以被所有的类和包引用,而缺省的则只能被同一个包中的其他类和接口引用,这符合JAVA中访问控制符的一般要求,关于接口再引用其他接口则是后话。以上接口文件名为calrect.java.另外需要指出的是接口中不能给方法给出方法体。
接下来,需要定义一个类来实现接口,因为不知道JAVA的内置矩形类是什么名,所以为了安全,将该类定义为RRect,这可以认为是一种安全策略。关于implements,可以参考其他资料。该类引用了接口calrect,所以必须对calrect中的方法一一实现。
//定义矩形类 应用接口
class RRect implements calrect{
private int x;
private int y;
public RRect (){
x=3;y=4;
}
public int calarea(){
return x*y;
}
public int calgirth(){
return x*2+y*2;
}
public int getx(){
return x;
}
public int gety(){
return y;
}
}
//接下来,定义一个测试类,所谓测试类,我理解为定义一个类,在其定义类RRect的对象,并验证其中的方法,看看是不是可以正常使用
//定义Class1类
public class Class1{
RRect rect;
public static void main(String []args){
RRect rect=new RRect();
System.out.println("矩阵的长"+ rect.getx());
System.out.println("矩阵的宽"+ rect.calarea());
System.out.println("矩阵的面积"+ rect.calarea());
Syste
相关文档:
为什么会有Java,为什么会有.NET
有人说,Java是为了跨Windows和UNIX而产生的。是这样吗?
Sun有自己的操作系统solaris,并且打的是高端市场,而Java发展早期阶段,Windows还主
要定位在中小型企业,并没有打算与Sun一争高端客户。
而且Sun的用户大部分都是大型企业级,而Windows定位在家庭消费用户, ......
猪年无聊,改了一个代码,有点D版那个意思,把WAP PUSH的C#代码改到了JAVA
原来出处:
http://www.codeproject.com/cs/internet/wappush.asp
改过后的代码在下面,程序好像可以输出了WAPPUSH的结构化的东西,但是,没有在CMPP协议上测试通过。
共7个文件:
package com.wap.wbxml;
public class Runner {
&nbs ......
把树形的结构抽象了一下。
ITree
package utility.structure.def;
/**
*
* @author odie.tang
*
* @version 1.0 10/30/09
*/
public interface ITree<E>{
E getData();
E remove();
void setData(E e);
int getDepth();
int getLevel();
ITree<E> getRoot();
......
发布Java应用程序时你会感到困难?好在Java提供了一系列打包和发布工具,可以显著的简化发布过程该文章提供了打包Java
code的几种方法,我们将会探讨Java manifest
文件,给出用于管理JAR文件所依赖文件、估计跨平台发布所需的CLasspath的合适方法.我也会解释如何使用manifest包版本特性来确认包的
兼容性...
什 ......
Java语言反射提供一种动态链接程序组件的多功能方法。它允许程序创建和控制任何类的对象(根据安全性限制),无需提前硬编码目标类。这些特性使得反射特别适用于创建以非常普通的方式与对象协作的库。例如,反射经常在持续存储对象为数据库、XML或其它外部格式的框架中使用。Java reflection 非常 ......