/*
* 接口Interface
* 接口中没有构造方法,不能被实例化(抽象类有构造方法,但不是用来创建实例的,而是用来初始化成员的)
*
* 类中方法如果不指定修饰符,则默认为default
* 接口中方法如果不指定修饰符,则默认为public
*/
public interface Test02
{
// 接口中的属性默认为public static final,即静态常量
String name = "tom";
// 接口中的方法默认为public abstract,即抽象方法
void show();
}
interface Test03
{
// 抽象方法
public abstract double calcAvg(int num1, int num2);
}
/*
* 抽象类
*/
abstract class Test04
{
String sex = "男";
static final double PI = 3.1415;
public void print()
{
System.out.println("父类中的普通方法print");
}
//父类中的抽象方法
public abstract int calcSum(int num1, int num2);
}
/*
* 实现类
*/
class Test extends Test04 implements Test02, Test03
{
// 实现接口Test02中的抽象方法
public void show()
{
System.out.println("在实现类中实现接口Test02中的show方法");
}
// 实现接口Test03中的抽象方法
public double calcAvg(int num1, int num2)
{
System.out.println("在实现类中实现接口Test03中的calcAvg方法");
return (num1 + num2) / 2.0;
}
//实现父类Test04中的抽象方法
public int calcSum(int num1, int num2)
{
System.out.println("在实现类中实现父类Test04中的calcSum方法");
return num1+num2;
}
//重写父类Test04中的成员方法
public void print(){
System.out.println("在实现类中重写父类Test04中的print方法");
}
}
/*
* 测试类
*/
public class Test05
{
public static void main(String[] args)
{
Test test=new Test();
System.out.println(test.name);
System.out.println(test.sex);
test.show();
System.out.println(test.calcAvg(2, 3));
System.out.println(test.calcSum(2, 3));
test.print();
}
}
/*
* 一个接口可以继承自多个接口,即一个接口可以有多个父接口
*
* JAVA中支持接口的多继承,但只支持类的单继承
*
* 自定义数据类型:普通类、抽象类、接口等
*/
public class Test06
{
public static void main(String[] args)
{
A a;// 声明接口A的引用
a=new D();//将接口A的引用指向其实现类D的实例
}
}
interface A
{
double PI = 3.14;
public void show1();
}
interface B
{
public void show2();
}
/*
* 接口C同时继承自接口A、B
*/
interface C extends A, B
{
public void show3();
}
/*
* 实现类
*/
class D implements C
{
@Override
public void show1()
{
// TODO Auto-generated method stub
}
@Override
public void show2()
{
// TODO Auto-generated method stub
}
@Override
public void show3()
{
// TODO Auto-generated method stub
}
}
/*
* 接口是一个"纯"抽象类
* 抽象类中既可以有普通的成员方法,也可以有抽象方法
* 抽象类中既可以有普通的成员属性,也可以有静态常量
*/
public class Test07
{
public static void main(String[] args)
{
Plane plane = new Plane();
Bird bird=new Bird();
IFly f = bird;
f.fly();
}
}
/*
* 定义一个飞行接口,是一种标准、规范 方法:飞行
*/
interface IFly
{
public void fly();
}
/*
* 实现类Plane
*/
class Plane implements IFly
{
@Override
public void fly()
{
System.out.println("我是飞机,我有机翼,高科技飞行。。。");
}
}
/*
* 鸟类Bird
*/
class Bird implements IFly
{
@Override
public void fly()
{
System.out.println("我是一只小小鸟,我有翅膀,绿色环保。。。");
}
}
原文:http://blog.csdn.net/wangzi11322/article/details/44618785