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

 我来答
老冯文库
2020-06-11 · 知道合伙人软件行家
老冯文库
知道合伙人软件行家
采纳数:1139 获赞数:8733

向TA提问 私信TA
展开全部

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

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


二、实现方案

(一)实现接口

1. 定义接口

/**
 * 接口:表示人类行为
 */
interface Behavor {
/**
 * 抽象方法:“吃饭”方法
 */
void eat();

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


2. 定义子类,实现接口

/**
 * 子类:表示人类,实现“行为”接口
 */
class Person implements Behavor {
/**
 * 姓名
 */
protected String name = null;

public Person(String name) {
this.name = name;
}

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

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


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

public class Main {
    public static void main(String[] args) {
        Person p = new Person("张三其");
        p.eat();
        p.sleep();
    }
}


(二)继承抽象类

1. 定义抽象类

/**
 * 抽象类:表示人类
 */
abstract class Person {
/**
 * 姓名
 */
protected String name = null;

public Person(String name) {
this.name = name;
}

/**
 * 抽象方法:吃饭
 */
public abstract void eat();

/**
 * 抽象方法:睡觉
 */
public abstract void sleep();
}


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

/**
 * 子类:学生类
 */
class Student extends Person {
public Student(String name) {
super(name);
}

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

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


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

public class Main {
    public static void main(String[] args) {
        Person p = new Student("张三其");
        p.eat();
        p.sleep();
    }
}
yogzaengg
高粉答主

2018-03-31 · 说的都是干货,快来关注
知道大有可为答主
回答量:480
采纳率:100%
帮助的人:7.5万
展开全部

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

实现方案:

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunny秋千坠
推荐于2018-03-02 · TA获得超过766个赞
知道小有建树答主
回答量:388
采纳率:77%
帮助的人:233万
展开全部
如果是抽象类要实现接口,可以实现部分或者一个都不实现就行,要是具体类就必须实现所有的方法
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Wzz顿悟
2016-09-23
知道答主
回答量:9
采纳率:0%
帮助的人:5.9万
展开全部
a)若一个普通类实现了接口,那么,该普通类必须实现接口中所有的抽象方法。
b)若一个抽象类实现了接口,那么,该抽象类可以实现接口中的抽象方法,也可以不实现。
c)若一个普通的子类继承了抽象父类,该抽象的父类又实现了接口,那么,该普通的子类必须得重写,抽象父类中所有的抽象方法,并且,还必须得实现抽象的父类尚未实现的抽象方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lopin
2018-03-01
知道答主
回答量:4
采纳率:0%
帮助的人:4078
展开全部
谁说的,默认方法就不需要实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式