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

热点内容
怎样变换文件存储格式 浏览:208
飞常准的数据来自哪里 浏览:844
ug100如何编程画线 浏览:870
文件夹999找不到 浏览:145
win1014393最新版本号 浏览:100
java基本类型大小 浏览:516
word2007不能插入页码 浏览:968
vb读取文件并判断 浏览:6
php图片和程序分离 浏览:412
安卓面试非计算机专业 浏览:228
u盘的光盘文件怎么驱动 浏览:34
如何锁定c盘不下文件 浏览:359
浙江推广网站建设怎么做 浏览:478
word文件只有10页怎么增加 浏览:921
itunes下载的系统在哪个文件夹 浏览:605
个性化linux全名要求 浏览:40
数据表格制图小红点如何去掉 浏览:244
查询iphone版本信息失败怎么办 浏览:978
电脑版微信下载的文件保存在哪里 浏览:367
linuxsocket转发 浏览:32

友情链接