导航:首页 > 编程语言 > 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接口中的方法相关的资料

热点内容
软件开发和编程哪个前景好 浏览:30
手机保存图片在相册里找不到文件 浏览:42
xp桌面图案保存哪个文件夹 浏览:136
dnf70版本红眼 浏览:484
越来越不懂两个版本 浏览:258
javabigdecimal位数 浏览:316
学好编程需要学哪些东西 浏览:186
概预算教程 浏览:893
90版本国服第一驱魔 浏览:436
手机qq音乐启动程序 浏览:840
口袋妖怪破解版12版本 浏览:632
数据研究的岗位有哪些 浏览:124
今日头条网站怎么改名 浏览:663
信口袋app什么系列口子 浏览:374
安微六安在哪个网站查中考成绩 浏览:121
编程猫下雨怎么写 浏览:857
ai混合工具怎么用 浏览:916
防火墙限制访问网站怎么办 浏览:670
炫舞隐藏人物文件 浏览:47
文件名忽略第一个排序 浏览:795

友情链接