×

java接口案例

java接口案例(java新手 关于多个接口的例子)

admin admin 发表于2023-12-04 14:20:04 浏览29 评论0

抢沙发发表评论

各位老铁们,大家好,今天由我来为大家分享java接口案例,以及java新手 关于多个接口的例子的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

本文目录

java新手 关于多个接口的例子

OK的,楼主,我运行过了,如下:interface DriveControl {void startEngine();}interface Repairable {void repair();}public class Car implements DriveControl, Repairable {String model;public Car() {System.out.println("Car init");}public Car(String model) {this.model = model;}void printModel() {System.out.println("The model of this car is" + this.model);}public void startEngine() {System.out.println("Start engine");}public void repair() {System.out.println("Car is repaired");}public static void main(String args) {Car car = new Car();DriveControl control = (DriveControl) car;control.startEngine();Repairable repairable = (Repairable) car;repairable.repair();}}运行结果:Car initStart engineCar is repaired

谁能给我举两个java接口的列子

在java中,接口被看作是一种特殊的类。但是不能用new操作符创建接口的实例它可以用来解决不是继承于同一个父类的两个类的多态实现。public interface eatable{ public void howToEat();}public class apple implements eatable{ public void howToEat() { System.out.println("eat directly"); }}public class pig implements eatable{ public void howToEat() { system.out.println("cooked to eat"); }}然后我们可以直接定义一个 eatable 的变量例如eatable a = new apple()a.howToEat();a = new pig();a.howToEat();你就可以看到好处了------------------------------------------------------------新浪微博:java_learner给你不一样的java资料更新

JAVA里的接口谁能给我编写个例子解释下啊

昂, 在java里 基本都是面向接口编程开发, 为什么呢·,应为一个类只能继承一个类 ,却能实现多个接口,首先 用起来方便,结构清晰在j2ee中的接口也就是类,类与类之间的通信因为接口而变的简单易懂举个简单的JDBC的例子吧,比如有个BaseDao接口,现在有MySQLDao实现了一个(我们可以把具体的实现类配在配置文件中,再通过反射进行实例化),也就类似这样的:BaseDao dao = (BaseDao)(Class.forName(Config.getDaoName()).newInstance());其中Config.getDaoName()可以获得配置文件中的配置,比如是:com.bao.dao.impl.MySQLDao。之后,那些人开始要烧钱了,要改用Oracle了,这样我们只要按BaseDao的定义,再实现一个OracleDao就可以了,再将配置文件中的配置改为:com.bao.dao.impl.OralceDao就可以了,而在已经写好的代码中,我们可以一行不改的进行了数据库移植,这个就是面向对象设计原则中的“开-闭原则”(对增加是开放的,对修改是封闭的)。但这只是理论上的,现实中很难做到的。

java远程调用接口的原理和范例,谢谢

Java 远程处理    Java远程方法调用(RMI)提供了Java程序语言的远程通讯功能,这种特性使客户机上运行的程序可以调用远程服务器上的对象,使Java编程人员能够在网络环境中分布操作。    创建一个简单的Java分布式远程方法调用程序可以按以下几个步骤操作,       一、定义远程接口:    在 Java 中,远程对象是实现远程接口的类的实例, 远程接口声明每个要远程调用的方法。在需要创建一个远程对象的时候,我们通过传递一个接口来隐藏基层的实施细节,客户通过接口句柄发送消息即可。    远程接口具有如下特点:    1) 远程接口必须为public属性。如果不这样,除非客户端与远程接口在同一个包内,否则 当试图装入实现该远程接口的远程对象时,调用会得到错误结果。    2) 远程接口必须扩展接口java.rmi.Remote。    3) 除与应用程序本身特定的例外之外,远程接口中的每个方法都必须在自己的throws从句中 声明java.rmi.RemoteException。(或 RemoteException 的父类)。    4) 作为参数或返回值传递的一个远程对象(不管是直接,还是本地对象中嵌入)必须声明为远 程接口,而不应声明为实施类。 下面是远程接口的定义 view plaincopypackage test; import java.rmi.Remote; import java.rmi.RemoteException; import java.math.BigInteger; public interface Fib extends Remote { public int getFib(int n) throws RemoteException; // public BigInteger getFib(BigInteger n) throws RemoteException; } 二、实现远程接口:    远程对象实现类必须扩展远程对象java.rmi.UnicastRemoteObject类,并实现所定义的远程接口。远程对象的实现类中包含实现每个远程接口所指定的远程方法的代码。这个类也可以含有附加的方法,但客户只能使用远程接口中的方法。因为客户是指向接口的一个句柄,而不是它的哪个类。必须为远程对象定义构造函数,即使只准备定义一个默认构造函数,用它调用基础类构造函数。因为基础类构造函数可能会抛出 java.rmi.RemoteException,所以即使别无它用必须抛出java.rmi.RemoteException例外。    以下是远程对象实现类的声明: view plaincopypackage test; import java.math.BigInteger; import java.rmi.*; import java.rmi.server.UnicastRemoteObject; public class FibImp extends UnicastRemoteObject implements Fib { public FibImp() throws RemoteException { super(); } public int getFib(int n) throws RemoteException { return n+2; } } 三、编写服务器类:    包含 main 方法的类可以是实现类自身,也可以完全是另一个类。下面通过RmiSampleServer 来创建一个远程对象的实例,并通过java.rmi.registry.LocateRegistry类的createRegistry 方法从指定端口号启动注册服务程序,也可以通过执行 rmiregistry 命令启动注册服务程序,注册服务程序的缺省运行端口为 1099。必须将远程对象名字绑定到对远程对象的引用上: Naming.rebind("//localhost:8808/SAMPLE-SERVER" , Server);    以下是服务器类的声明: view plaincopypackage test; import java.net.MalformedURLException; import java.rmi.Naming; import java.rmi.RemoteException; import java.rmi.registry.LocateRegistry; public class FibonacciServer { /** * @param args */ public static void main(String args) { try { LocateRegistry.createRegistry(8804); FibImp f = new FibImp(); // 注册到 registry 中 Naming.rebind("//localhost:8804/SAMPLE-SERVER", f); System.out.println("fib server ready"); } catch (RemoteException re) { System.out.println("Exception in FibonacciImpl.main: " + re); } catch (MalformedURLException e) { System.out.println("MalformedURLException " + e); } } } 四、编写使用远程服务的客户机类:   客户机类的主要功能有两个,一是通过Naming.lookup方法来构造注册服务程序 stub 程序实例,二是调用服务器远程对象上的远程方法。    以下是客户端类的声明: view plaincopypackage testClient; import test.Fib; import java.math.BigInteger; import java.net.MalformedURLException; import java.rmi.Naming; import java.rmi.NotBoundException; import java.rmi.RemoteException; public class FibClient { /** * @param args */ public static void main(String args) { String url = "//localhost:8804/SAMPLE-SERVER"; try { Fib calc = (Fib) Naming.lookup(url); for (int i = 0; i 《 10; ++i) { int f = calc.getFib(i); System.out.println(f); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (RemoteException e) { e.printStackTrace(); } catch (NotBoundException e) { e.printStackTrace(); } } }

给个Java接口回调的例子

接口回调是指:可以把使用某一接口的类创建的对象的引用赋给该接口声明的接口变量,那么该接口变量就可以调用被类实现的接口的方法。实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法,这一过程称为对象功能的接口回调。示例代码:interface People{ //接口 void peopleList();}class Student implements People{ //接口实现类 public void peopleList(){ //实现接口方法 System.out.println("I’m a student.");}}class Teacher implements People{ //接口实现类 public void peopleList(){ //实现接口方法 System.out.println("I’m a teacher.");}}public class Example{ public static void main(String args){ People a; //声明接口变量a=new Student(); //实例化,接口变量中存放对象的引用a.peopleList(); //接口回调a=new Teacher(); //实例化,接口变量中存放对象的引用a.peopleList(); //接口回调}}输出结果:I’m a student.I’m a teacher.

求一个java中接口与接口多继承的案例(简单点就好),请教各位;

abstract class Person { public abstract void Eat(); public abstract void Sellp();}interface Father { public void Smoking(); public void GoFishing();}interface Mon { public void WatchTV(); public void Cook();}class Me extends Person implements Father,Mon{ //使用“implements”来实现接口 public void Eat() { System.out.println("我喜欢吃鱼香茄子");} public void Sellp() { System.out.println("我喜欢睡觉时做梦");} public void Smoking() { System.out.println("我不喜欢抽烟");} public void GoFishing() { System.out.println("我喜欢钓鱼");} public void WatchTV() { System.out.println("我喜欢看电视");} public void Cook() { System.out.println("我不太会做菜"); }}public class Test { public static void main(String args) { Person p1 = new Me(); p1.Eat(); p1.Sellp(); Mon m1 = (Mon)p1; m1.WatchTV(); m1.Cook(); }}

如果你还想了解更多这方面的信息,记得收藏关注本站。