导航:首页 > 编程语言 > java接口中的方法

java接口中的方法

发布时间:2024-01-07 13:16:48

java里实现一个接口的类必须要实现接口里的所有方法吗

一、实现接口或继承抽象类的非抽象子类必须实现接口的所有方法或抽象类的所有抽象方法。

接口中的所有方法均为抽象方法,抽象类中包含非抽象方法和抽象方法。如果一个非抽象子类实现了接口,那么该子类必须实现父接口的所有方法。如果一个非抽象子类继承了抽象类,那么该子类必须实现抽象类的所有抽象方法。


二、实现方案

(一)实现接口

1. 定义接口

/**
*接口:表示人类行为
*/
interfaceBehavor{
/**
*抽象方法:“吃饭”方法
*/
voideat();

/**
*抽象方法:“睡觉”方法
*/
voidsleep();
}


2. 定义子类,实现接口

/**
*子类:表示人类,实现“行为”接口
*/
classPersonimplementsBehavor{
/**
*姓名
*/
protectedStringname=null;

publicPerson(Stringname){
this.name=name;
}

//实现接口的抽象方法
@Override
publicvoideat(){
System.out.println(name+"正在吃饭......");
}

//实现接口的抽象方法
@Override
publicvoidsleep(){
System.out.println(name+"正在睡觉......");
}
}


3. 定义调用类,调用方法

publicclassMain{
publicstaticvoidmain(String[]args){
Personp=newPerson("张三其");
p.eat();
p.sleep();
}
}


(二)继承抽象类

1. 定义抽象类

/**
*抽象类:表示人类
*/
abstractclassPerson{
/**
*姓名
*/
protectedStringname=null;

publicPerson(Stringname){
this.name=name;
}

/**
*抽象方法:吃饭
*/
publicabstractvoideat();

/**
*抽象方法:睡觉
*/
publicabstractvoidsleep();
}


2. 定义子类,继承抽象类

/**
*子类:学生类
*/
classStudentextendsPerson{
publicStudent(Stringname){
super(name);
}

//实现抽象类的抽象方法
@Override
publicvoideat(){
System.out.println("学生"+name+"正在吃饭......");
}

//实现抽象类的抽象方法
@Override
publicvoidsleep(){
System.out.println("学生"+name+"正在吃饭......");
}
}


3. 定义调用类,调用方法

publicclassMain{
publicstaticvoidmain(String[]args){
Personp=newStudent("张三其");
p.eat();
p.sleep();
}
}

② java接口中必须都是抽象方法吗,我定义非抽象方法同样可以使用

接口中所有方法都是抽象方法;无论你加不加abstract,所有实现指定接口的类都必须重写并实现该接口的所有方法,否则这个类就是抽象类。

③ java 中,接口中所有方法均为抽象方法,这句话是对的吗

首先明确概念问题,一个类如果是抽象的那么就应该称之为接口interface
接口里面的方法全部是抽象的,也就是方法后面不会出现{};
同时,你在使用的时候去实现这个接口implements
把方法完善了;
在你的父类接口里定义下面这个方法
string
getstring();里面可以放参数,
再搞一个类implements
这个接口,同时把这个方法实现了
string
getstring(){
.......
return
null;
};

④ 如果JAVA中一个类继承的两个接口中有相同方法,怎么办

没法办到……因为接口没有具体逻辑,你怎么实现的就会怎么返回。不论调用的时候是screen类型还是host类型,最后具体的实现都是computer的getSize方法。建议分开实现,因为computer和screen、host不是一个继承关系,而是一个组成关系

阅读全文

与java接口中的方法相关的资料

热点内容
wokrNC和UG编程哪个好 浏览:487
爱奇艺随刻文件名 浏览:40
wps是怎么压缩文件 浏览:986
dos配置文件名 浏览:582
java软件工程师做什么 浏览:897
3dmax导出ive文件 浏览:464
数据重复性好是什么意思 浏览:166
如何查找电脑文件使用历史记录 浏览:821
linux可以运行exe的文件吗 浏览:935
库币是哪个国家的app 浏览:201
大智慧internet文件夹有哪些文件 浏览:89
编程培训课程哪个排名好 浏览:124
我的cad怎么没显示文件选项卡 浏览:952
命令行当前是哪个数据库 浏览:588
为什么appstore打开空白 浏览:574
选货车软件什么app最好 浏览:577
psv仙境传说ace如何降级版本 浏览:460
杭州哪里学少儿编程比较好 浏览:642
什么网站可以自己翻唱歌曲 浏览:291
javalist作为参数 浏览:176

友情链接