/**
*
*/
package cn.yanshun.interfaces;
/**
* @author 这个类用来测试接口的复杂用法:多继承、多实现
*
*/
public class Test4_ComplexUse {
/**
*
*/
public Test4_ComplexUse() {
// TODO Auto-generated constructor stub
}
/**
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建多态对象测试,关键字new:父类类型的引用变量i(对象),调用的是自身拥有的功能,执行的是子类ji实现类中保存着的经过覆盖的方法体
//日常小黄线:The value of the local variable i is not used
Inter1 i = new Implement();
i.save();
i.delete();
i.update();
Implement.unique();
//日常小黄线:The value of the local variable im is not used
Implement im = new Implement();
im.inter2();
im.inter3();
//创建Inter4即接口的多态对象,进行测试使用
//日常小黄线:The value of the local variable i4 is not used
Inter4 i4 = new Implement2();
i4.save();
i4.update();
i4.delete();
i4.inter2();
i4.inter3();
}
}
//创建多个接口,创建接口1
interface Inter1{
void save();
void update();
void delete();
}
//创建多个接口,创建接口2
interface Inter2{
void inter2();
}
//创建多个接口,创建接口3
interface Inter3{
void inter3();
}
//创建过个接口,创建接口4:接口的多继承打破了java单继承的局限性,被继承的多个接口之间逗号隔开
interface Inter4 extends Inter1, Inter2, Inter3{}
//创建接口的实现类,实现接口并使用其功能
class Implement extends Object implements Inter1, Inter2, Inter3{
@Override
public void save() {
System.out.println("save():调用的是自身拥有的功能,执行的是子类ji实现类中保存着的经过覆盖的方法体");
}
@Override
public void update() {
System.out.println("update():调用的是自身拥有的功能,执行的是子类ji实现类中保存着的经过覆盖的方法体");
}
@Override
public void delete() {
System.out.println("delete():调用的是自身拥有的功能,执行的是子类ji实现类中保存着的经过覆盖的方法体");
}
//创建子类自身特有功能,成员方法
public static void unique() {
System.out.println("子类即是实现类自有行为:在我眼中你是多么独一无二的存在");
}
//接口与子类间的多继承多实现关系
@Override
public void inter2() {
System.out.println("inter2:继承并实现接口2的功能");
}
//接口与子类间的多继承多实现关系
@Override
public void inter3() {
System.out.println("inter3:继承并实现接口3的功能");
}
}
//创建接口的实现类即子类,实现接口并使用其功能
class Implement2 extends Object implements Inter4{
@Override
public void save() {
// TODO Auto-generated method stub
System.out.println("save():这是子类2");
}
@Override
public void update() {
// TODO Auto-generated method stub
System.out.println("update():这是实现类2");
}
@Override
public void delete() {
// TODO Auto-generated method stub
System.out.println("delete():这是子类2");
}
@Override
public void inter2() {
// TODO Auto-generated method stub
System.out.println("inter2():这是子类2");
}
@Override
public void inter3() {
// TODO Auto-generated method stub
System.out.println("inter3:这是子类2");
Java小白修炼手册