{
int ID=1
void run()
void smile()
}
在本次创建的接口中,定义了一个int的ID 和一个方法run,在接口中,虽然没有显示的写出public 关键字,但是所有的成员都是public反问的,接口里面的变量都默认的是public static final的,所以,借口里面定义的变量可以当成全局的静态变量.
实现接口有几种方式:
第一种:部分实现,就是定义一个抽象类,来实现接口中的部分方法.
定义抽象类的例子
abstract class A implements myFirstInterface
{
public void run()
{
System.out.println("I am running!")
}
}
第二种方法,定义一个类,实现接口中的全部方法:
abstract class B implements myFirstInterface
{
public void run()
{
System.out.println("I am running!")
}
public void smile()
{
System.out.println("I am smiling!")
}
}
另外,接口的提出,是为了实现java中的多继承.一个类可以在继承一个类后在来实现一个或者多个接口.
不知道你明白了没有~?
interface ShapeArea {
public float getArea()
}
class Rectangle implements ShapeArea{
private float x//长
private float y//宽
Rectangle(float x,float y){
System.out.println(this)
this.x=x
this.y = y
}
@Override
public float getArea() {
// TODO Auto-generated method stub
System.out.println((float) (x*y))
return (float) (x*y)
}
}
class Square extends Rectangle implements ShapeArea{
Square(float x, float y) {
super(x, y)
// TODO Auto-generated constructor stub
}
}
class Circle implements ShapeArea{
private float r//半径
Circle(float r){
this.r=r
}
@Override
public float getArea() {
// TODO Auto-generated method stub
System.out.println( (float) (Math.PI*r*r))
return (float) (Math.PI*r*r)
}
}
public class Test{
public static void main(String[] args) {
new Square(2,2).getArea()
new Circle(2).getArea()
}
}
非常简单,基础语法:public interface 接口名 {
常量定义
抽象方法定义;
default 方法定义;
}
即使你在接口中不定义任何方法,也是可以的。