Ⅰ 如何理解java的接口举一个例子
接口的作用其实是提供你 在不改动原有代码的基础上 增加、改变类的功能。那么为什么在设计模式里应用广泛呢?因为在面向对象的设计原则中有那么一条开放封闭原则,内容大致如下:一个良好的设计应该可以在不改动原有代码或者改动少数代码的基础上增加或者改变原有的功能。因此接口正好符合这一需求。接下来看一下代码实例你就会明白。以下代码是模仿JDBC的设计原则所写的,并不是原代码,但是设计思想是一致的,之所以选择这样一个例子是因为你可以对接口的应用有一个感性的认识
Ⅱ 给个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里的接口谁能给我编写个例子解释下啊
昂, 在java里 基本都是面向接口编程开发, 为什么呢·,应为一个类只能继承一个类 ,却能实现多个接口,
首先 用起来方便,结构清晰
在j2ee中的接口也就是类,类与类之间的通信因为接口而变的简单易懂
举个简单的JDBC的例子吧,比如有个BaseDao接口,现在有MySQLDao实现了一个(我们可以把具体的实现类配在配置
文件中,再通过反射进行实例化),也就类似这样的:
BaseDao = (BaseDao)(Class.forName(Config.getDaoName()).newInstance());
其中Config.getDaoName()可以获得配置文件中的配置,比如是:com.bao..impl.MySQLDao。
之后,那些人开始要烧钱了,要改用Oracle了,这样我们只要按BaseDao的定义,再实现一个OracleDao就可以了,
再将配置文件中的配置改为:com.bao..impl.OralceDao就可以了,而在已经写好的代码中,我们可以一行不
改的进行了数据库移植,这个就是面向对象设计原则中的“开-闭原则”(对增加是开放的,对修改是封闭的)。但
这只是理论上的,现实中很难做到的。
Ⅳ 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 init
Start engine
Car is repaired
Ⅳ java中什么是接口接口的作用是什么
java接口:
1、Java语言中存在的结构,有特定的语法和结构。
2、Java语言中一个类所具有的方法的特征集合,是一种逻辑上的抽象。
java接口作用:
1、利于代码的规范
这样做的目的一方面是为了给开发人员一个清晰的指示,告诉他们哪些业务需要实现;同时也能防止由于开发人员随意命名而导致的命名不清晰和代码混乱,影响开发效率。
2、有利于对代码进行维护
可以一开始定义一个接口,把功能菜单放在接口里,然后定义类时实现这个接口,以后要换的话只不过是引用另一个类而已,这样就达到维护、拓展的方便性。
3、保证代码的安全和严密
一个好的程序一定符合高内聚低耦合的特征,能够让系统的功能较好地实现,而不涉及任何具体的实现细节。这样就比较安全、严密一些,这一思想一般在软件开发中较为常见。
(5)java接口的例子扩展阅读:
关于java接口的使用规范:
1、接口中可以定义常量,不能定义变量,接口中的属性都是全局静态常量,接口中的常量必须在定义时指定初始值。
2、 接口中所有的方法都是抽象方法,接口中方法都会自动用public abstract 修饰,即接口中只有全局抽象方法。
3、 接口不能实例化,接口中不能有构造。
4、 接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但接口不能继承类。
5、 接口的实现类必须实现接口的全部方法,否则必须定义为抽象类。
参考资料来源:网络:java接口
Ⅵ 在Java中,接口有什么实际点的应用最好给个例子
1.
面向对象多态的实现离不开接口,使用接口,比如说:“A类调用B类,不如调用B接口来的灵活,因为你可以使用接口来使用B1,B2等实现类交互,方便代码的重用。
”
你在传递参数或返回值时,传入A,不如将A剥离共性抽象一个A接口出来灵活,抽象之后你可以随时替换传入的参数(只要实现了A接口),避免了大量的改动,返回值亦同。甚至很多模式的实现也离不开接口(工厂模式等);
2.
解耦,复用等都离不开接口,抽象共性提高复用度,当然可用实体类,但是远不如用接口或抽象类来的方便,用接口抽象共性,用具体类实现个性,可以很大程度上解耦,和提高复用度,解耦可以方便修改维护,提高复用可以减少成本!
多重继承只有接口能实现.
接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用.
Ⅶ 关于JAVA接口的例子分析~~
附上一图,希望能够帮上你的忙。
通过附图,我们可以了解到DY是接口,它被两个子类实现,分别是softstudent,softschool。其中softschool还自定义了一个方法名叫print,参数便是DY接口,所以能够对softstudent进行输出。
Stringcontent表示的是参数名叫content,它的类型是字符串,名字可以随便换,但不能是JAVA关键字,比如java,while,for等等。
new是构造的意思的,一般类都有默认的构造器,用于实例化类。
最后想说的话:
1,在JAVA世界,一般类名标准都要求单词首字大写,比如softschool应该写成SoftSchool,这是业界内默认的约定。
2,左大括号不像.net那样。
举个例子给你参考:
publicclassSoftSchool{
publicvoidtest(){
//...yourcodes
}
}
publicclassPrinter{
publicstaticvoidmain(String[]args){
SoftSchoolsoftSchool=newSoftSchool();
softSchool.test();
}
}
Ⅷ java中的接口到底怎么用 怎么理解啊 举个简单例子
Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 接口的两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。
Ⅸ 谁能给我举两个java接口的列子。
你的PC机上,USB接口是干什么用的?
不管你用的是什么外连设备,都必须支持这个USB接口才能连到你的电脑上,至于外部设备的细节,主版厂商是不会关心的.
比如你写数据库程序,MySQL,
Oracle等,不同的数据库厂商,都有不同的技术标准,语法上也有差异,你写一个程序只能针对某一个数据库,为了解决这个问题Java给出了连接数据库接口JDBC,使程序员不必关心不同数据库的内部细节,只要找到实现了JDBC中接口的类就可以进行数据库连接了,而这些类由不同的数据库厂商自己去定义.程序员只要使用接口中定义的方法就可以了.
JAVA中接口只关心功能,只要一个类去实现了这个接口,就可以通过接口调去这个类去使用接口中定义的功能.即,方法.这些功能是怎么实现的,使用者不必去关心.JAVA不支持多重继承,因为那样会使类与类之间的结构不清晰,但有时需要类似功能,可以能过接口来实现,
Java中接口中的成员只有常量,和方法,其中常量是默认用public
static
final关键字修饰的,因此可以用接口名直接调用接口中的常量,接口中的方法是默认用public
abstract
关键字修饰.如查接口中定义的方法抛出异常,那么实现这个接口的类,在定义这个方法时可以不抛出异常,但是如果抛出,就必抛出接口中方法抛出异常类的子孙类,而不能抛出接口方法定义的异常类的父类,否则会产生编译异常
类可以实现多个接口,但不支持多重继承,但接口是支持多重继承的
多态可以减少代码的重复,如在两个类中有类似的功能即方法,可以为他们提供一个抽象父类,子类分别实现父类所定义的方法,通过父类动态的调用不同的子类,来得到这个方法的不同实现,从而减少代码的重复,如果使用抽象类,就会改变子类的原本继承体系,因为JAVA不支持多重继承,而使用接口就可以达到这个要求.
Ⅹ 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();
}
}