Java 接口 interface

//接口是Java用来实现多继承的
//接口是抽象方法,常量值定义的集合
//本质上讲接口是一种特殊的抽象类,这种抽象类只包含常量和方法的定义,没有变量和方法的实现

public interface Runner{
public static final int pi =3.14159;
//int pi = 3.14159;此语法在接口里面与上面语法是一样的,在接口中常量自动都是public static final
public void start();
public void run();
public void stop();
}


//接口可以多重实现
//接口中声明的默认属性是public final static,也只能是public final static
//接口可以继承其他接口并添加新的属性(成员变量)和抽象方法
//接口中定义的方法时抽象方法, 而且默认是public,也只能是public

//多个无关类可实现同一接口
//一个类可实现多个接口
//与继承关系类似,接口与实现类之间存在多态关系

package v43;

interface Singer{
public void sing();
public void sleep();
}
interface Painter{
public void paint();
public void eat();
}
class Student implements Singer{
private String name;
Student(String name){
this.name = name;
}
public void study(){
System.out.println("studying...");
}
public String getName(){
return name;
}
public void sing(){
System.out.println("singing...");
}
public void sleep(){
System.out.println("sleeping...");
}
}

class Teacher implements Singer,Painter{ //完整的Java语法莫过于此;
private String name;
public String getname(){
return name;
}
Teacher(String name){this.name = name;}
public void teach(){
System.out.println("teaching!");
}
public void sing(){System.out.println("singing!");}
public void sleep(){System.out.println("sleeping!");}
public void eat(){System.out.println("eating!");}
public void paint(){System.out.println("painting!");}
}


public class Test {
public static void main(String[] args){
Singer s1 = new Student("le");
s1.sleep();s1.sing();
Singer s2 = new Teacher("Steven");
s2.sing();s2.sleep();
Painter p1 = (Painter) s2;
p1.paint();p1.eat();
}
 
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值