NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
## 接口 **课堂代码:** ~~~java package com.dodoke.demo4; public interface Father { public final static String FAMILY_NAME = "赵"; public void fatherFun(); } ~~~ ~~~java package com.dodoke.demo4; public interface Mather { public final static String FACE = "瓜子脸"; public void matherFun(); } ~~~ ~~~java package com.dodoke.demo4; /** * 接口只能继承接口,不能继承类 * @author 一教室 * */ public interface Person extends Father, Mather { /** * 常量 * 抽象方法 */ /** * 虽然可以省略相关修饰符,但是为了代码的可阅读性,还是建议加上 */ public static final String PASSWORD = "#123456"; public void eatFood(); public String play(); } ~~~ ~~~java package com.dodoke.demo4; public interface Student { public String a = "5";//虽然因为修饰符的省略,表现形式是成员变量,但实际上还是不可变的常量 public void study(); } ~~~ ~~~java package com.dodoke.demo4; /** * implements表示该类实现某一个接口 * @author 一教室 * */ public class Test implements Person, Student{ public static void main(String[] args) { Test test = new Test(); test.fatherFun(); test.matherFun(); test.eatFood(); test.study(); System.out.println(test.play()); System.out.println(Test.FAMILY_NAME); System.out.println(Test.FACE); System.out.println(Test.PASSWORD); System.out.println(Test.a); /** * 类似于多态的形式,但是Person不是Test的父类。Test是Person的实现类 * 此时声明变量的类型Person,运行时类型是Person的实现类Test */ Person per = new Test(); //打印出来是Test类中的方法实现内容 per.eatFood(); per.fatherFun(); System.out.println(Person.FAMILY_NAME); } @Override public void fatherFun() { System.out.println("father"); } @Override public void matherFun() { System.out.println("mather"); } @Override public void eatFood() { System.out.println("son"); } @Override public String play() { return "play football"; } @Override public void study() { System.out.println("study"); } } ~~~