扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
interface l1 { abstract void test(int i); } interface l2 { abstract void test(String s); } public class jiekou implements l1,l2 { public void test(int i) { System.out.println("接口1"); } public void test(String s) { System.out.println("接口2"); } public static void main(String args[]) { jiekou t=new jiekou(); t.test(42); t.test("Hello"); } } 下一个是内部接口 public class groupsix { public interface student_info { public void out(); } public class student implements student_info { int count; String name; public student(String n1) { name=n1; count++; } public void out() { System.out.println(this.name+" count="+this.count); } } public groupsix(String name1[]) { student s1; int i=0; while(iname1.length) { s1=new student(name1[i]); s1.out(); i++; } } public static void main(String args[]) { String arr[]={"A","B","C"}; groupsix g6; new groupsix(arr); } }
站在用户的角度思考问题,与客户深入沟通,找到平罗网站设计与平罗网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广、申请域名、网站空间、企业邮箱。业务覆盖平罗地区。
interface Bike{
public void radio();
}
interface Car{
public void tv();
}
interface Dt{
public void music();
}
public class InterfaceDemo implements Bike,Car,Dt{
public void radio() {
System.out.println("可以听广播");
}
public void tv() {
System.out.println("可以看电视");
}
public void music() {
System.out.println("可以听音乐");
}
public static void main(String args[])
{
InterfaceDemo m=new InterfaceDemo();
m.radio();
m.tv();
m.music();
}
}
举个面积的例子:在java中,定义一个接口,声明计算长方形面积和周长的抽象方法,再用一个类去实现这个接口,再编写一个测试类去使用这个接口。首先,接口必须单独存放,如果我们用eclipse编程的话,它们提示:The public type **** must be defined in its own file,意思是必须要定义在其自己的文件中,所以要为接口文件单独存放起来,举例,我们的接口要实现获到矩形的长,宽,面积,周长,所以定义以下的接口。public interface calrect {\x0d\x0apublic abstract int calarea();\x0d\x0apublic abstract int calgirth();\x0d\x0apublic abstract int getx();\x0d\x0apublic abstract int gety();\x0d\x0a}注意,定义接口就像定义类一样,接口的访问控制符只能用public,用public定义的接口可以被所有的类和包引用,而缺省的则只能被同一个包中的其他类和接口引用,这符合JAVA中访问控制符的一般要求,关于接口再引用其他接口则是后话。以上接口文件名为calrect.java.另外需要指出的是接口中不能给方法给出方法体。接下来,需要定义一个类来实现接口,因为不知道JAVA的内置矩形类是什么名,所以为了安全,将该类定义为RRect,这可以认为是一种安全策略。关于implements,可以参考其他资料。该类引用了接口calrect,所以必须对calrect中的方法一一实现。//定义矩形类 应用接口class RRect implements calrect{private int x;\x0d\x0aprivate int y;public RRect (){\x0d\x0a x=3;y=4;\x0d\x0a}\x0d\x0apublic int calarea(){\x0d\x0a return x*y;\x0d\x0a}\x0d\x0apublic int calgirth(){\x0d\x0a return x*2+y*2;\x0d\x0a}\x0d\x0apublic int getx(){\x0d\x0a return x;\x0d\x0a}\x0d\x0apublic int gety(){\x0d\x0a return y;\x0d\x0a}\x0d\x0a}//接下来,定义一个测试类,所谓测试类,我理解为定义一个类,在其定义类RRect的对象,并验证其中的方法,看看是不是可以正常使用//定义Class1类\x0d\x0apublic class Class1{\x0d\x0aRRect rect;\x0d\x0apublic static void main(String []args){\x0d\x0a RRect rect=new RRect();\x0d\x0a System.out.println("矩阵的长"+ rect.getx());\x0d\x0a System.out.println("矩阵的宽"+ rect.calarea());\x0d\x0a System.out.println("矩阵的面积"+ rect.calarea());\x0d\x0a System.out.println("矩形的周长 "+rect.calgirth());\x0d\x0a}\x0d\x0a\x0d\x0a}运行结果:矩阵的长3\x0d\x0a矩阵的宽12\x0d\x0a矩阵的面积12\x0d\x0a矩形的周长 14注:接口单存放,接口实现类和测试类可以存放在一个文件中
接口与接口之间只能是继承,不能是实现,要实现接口需要定义一个类来实现这个接口,并且这个类必须重写这个接口的所有方法。
具体代码如下:
public class Demo {
interface A{
void a();
}
interface B extends A{
void b();
}
class C implements A{
public void a() {}
}
class D implements B{
public void b() {}
public void a() {}
}
}
会发现接口B继承了接口A之后就拥有了接口A的a()方法,即接口B拥有两个方法。
extends(继承)是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力;implements(实现)用来实现接口中定义的抽象方法。
在 java中,用一个类同时继承一个类和实现一个接口代码如下:
class Pigeon extends Bird implements Flyanimal
{ public void fly()
{
System.out.println("pigeon can fly");
}
public void egg()
{
System.out.println("pigeon can lay eggs ");
}
}
类继承:继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。
接口实现:接口实现在java中是一种特殊继承方式,接口在定义后,就可以在类中实现该接口,在类中实现接口可以使用关键字implement。
创建父类:
class Bird {
int legnum = 2; void egg() { };}
定义接口:
interface Flyanimal
{
void fly();
}
public interface 接口A {
public void get();
}
//**************
public class 接口A的实现类 implements 接口A {
@Override
public void get() {
System.out.println(1);
}
}
//**************
public class Test {
接口A d = new 接口A的实现类();
public Test() {
d.get();
}
}
虽然可以,但不提倡,因为接口有其自己的存在意义,接口定义行为,一般的都是接口定义,然后用一个类实现。
如果您必须要在接口中实现方法:
public interface 接口A {
public void get();
public default void set() {
//实现
}
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流