java interface 用法

import java . io . * ; 
import java . util . * ; 
import java . util . regex . * ; 

interface myinterface
{ 
        public void output ( ) ; 
} 

public class tmp implements myinterface
{ 
        public void output ( ) 
        { 
                System . out. println ( "output" ) ; 
        } 

        public static void main( String args[ ] ) throws Exception 
        { 
                myinterface t = new tmp( ) ; 
                t. output ( ) ; 
        } 
}

 

java-interface(接口),多重继承,接口扩展-的用法

范例1:

interface ishape
{
 final double pi=3.14;
 abstract void area();
 
}
class rectangle implements ishape
{
 int w,h;
 public rectangle(int w1,int h1)
 {
  w=w1;
  h=h1;
  
 }
 public void area()
 {
  System.out.println("area="+w*h);
 }
}
class circle implements ishape
{
 double radius;
 public circle(double r)
 {
  radius=r;
 }
 public void area()
 {
  System.out.println("area="+pi*radius*radius);
  
 }
}
public class interfacec
{
 public static void main(String args[])
 {
  rectangle myrectangle=new rectangle(5,10);
  myrectangle.area();
  circle mycircle=new circle(2.0);
  mycircle.area();
 }
}

范例2:

interface ishape
{
 final double pi=3.14;
 abstract void area();
 
}
class rectangle implements ishape
{
 int w,h;
 public rectangle(int w1,int h1)
 {
  w=w1;
  h=h1;
  
 }
 public void area()
 {
  System.out.println("area="+w*h);
 }
}
class circle implements ishape
{
 double radius;
 public circle(double r)
 {
  radius=r;
 }
 public void area()
 {
  System.out.println("area="+pi*radius*radius);
  
 }
}
public class interfacec
{
 public static void main(String args[])
 {
  ishape shape1,shape2;
  shape1=new rectangle(5,10);
  shape1.area();
  shape2=new circle(2.0);
  shape2.area();
 }
}

范例3:多重继承:

 

interface ishape
{
 final double pi=3.14;
 abstract void area();
 
}
interface ishape1
{
 abstract void show();
 
}
class rectangle implements ishape,ishape1
{
 int w,h;
 public rectangle(int w1,int h1)
 {
  w=w1;
  h=h1;
  
 }
 public void area()
 {
  System.out.println("area="+w*h);
 }
 public void show()
 {
  System.out.println("this is rectangle class");
 }
}
class circle implements ishape,ishape1
{
 double radius;
 public circle(double r)
 {
  radius=r;
 }
 public void area()
 {
  System.out.println("area="+pi*radius*radius);
  
 }
 public void show()
 {
  System.out.println("this is circle class");
  
 }
}
public class interfacec
{
 public static void main(String args[])
 {
  rectangle myrectangle=new rectangle(5,10);
  myrectangle.show();
  myrectangle.area();
  circle mycircle=new circle(2.0);
  mycircle.show();
  
  mycircle.area();
     
  
  
 }
}

范例4:接口的扩展:

interface ishape1
{
 final double pi=3.14;
 abstract void setcolor(String strcolor);
 
}
interface ishape2 extends ishape1
{
 abstract void area();
 
}
class circle implements ishape2
{
  double radius;
  String color;
  public circle(double r)
  {
   radius=r;
  } 
  public void setcolor(String strcolor)
  {
   color=strcolor;
   System.out.println("color="+color);
   
  }
  public void area()
  {
   System.out.println("area="+pi*radius*radius);
  }
}
public class interfacec
{
 public static void main(String args[])
 {
  circle mycircle=new circle(2.0);
  mycircle.setcolor("red");
  mycircle.area();
  
 }
}

 

请比较范例1,和范例2,掌握接口的用法,在声明接口时必须注意以下两点:
1:接口的数据成员必须初始化,例如:范例1中:final double pi=3.14;//final可以省略 
2:接口里的method必须全部声明成为abstract.也是只做声明不处理.例如,范例1中:abstract void area(); 
接口中所有属性都必须是public static final,这是系统默认的规定,所以接口属性也可以没有任何修饰符,其效果完全相同。同样,接口中的所有方法都必须是默认的public static,无论是否有修饰符显式的规定它。

当一些物体具有相同行为/属性时,可以先用一个接口来统一描述,而个体的特殊性,可以在实现类中体现。
抽象化:   
        几个类如果大致的方法是一样的就可以把他们的共同的方法提出来,做成interface   ,让这几个类实现这个nterface,通过interface   接口下塑造型访问这几个类。

interface是个好东东,看看设计模式就知道了,都是用它
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值