您的位置:首页 > 编程语言 > Java开发

Java基础4_面向对象下2

2011-03-14 10:37 281 查看
/*

抽象类和抽象方法

1.如果一个类中有抽象的方法,那么这个类就是抽象类,必须在类名前加上"abstract"

2.不可用抽象类产生行何实例方法

3.抽象方法只需声明,不需实现

4.含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否则这个子类还是抽象类

*/

/*

接口interface

如果一个抽象类中的所有方法都是抽象的,我们就可以将这个类用另外一种方式来定义,也就是接口定义.接口是抽象方法和常量值的定义的集合,从本质上来讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现

1.接口中的成员变量都是public访问类型的,接口里的变量默认是用public static final标识的

2.可定义一个新的接口用extends关键字去继承一个已有的接口

3.也可以定义一个类用implements关键字去实现一个接口的所有方法,还可以去定义一个抽象类用implements关键字去实现一个接口中定义的部分方法.

4.一个类可以继承一个父类的同时,实现一个或多个接口,extends关键字必须位于implemnets关键字之前

*/

interface Runner

{

int ID=1;

void run();

}

interface Animal extends Runner

{

void breathe();

}

class Fish implements Animal

{

public void run()

{

System.out.println("fish is swimening");

}

public void breathe()

{

System.out.println("fish is bubbling");

}

public static void main(String[] args)

{

Fish f=new Fish();

int J=0;

J=Runner.ID;

J=f.ID;

J=Fish.ID;

//f.ID=2;//无法为最终变量 ID 指定值

}

}

abstract class LandAnimal implements Animal// abstract LandAnimal 不是抽象的,并且未覆盖 Runner 中的抽象方法 run()

{

public void breathe(){};

}

interface Flyer

{

void fly();

}

class Bird implements Runner,Flyer

{

public void run(){}

public void fly(){}

}

class Student extends Person implements Runner//Person.class

{

public void run(){}

}

 

 

 

 

 

 

 

 

 

 

interface A

{

int ID=1;

int aa(int x,int y);//直接用分号结束方法的定义,证明aa是一个抽象的方法

void bb();

/*public static void main(String[] args)

{

A a=new A();//错误: A 是抽象的;无法对其进行实例化

}*/

}

/*class B extends A

{

//B 不是抽象的,并且未覆盖 A 中的抽象方法 aa(int,int)

int aa(int x,int y){return 1;}

}*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java interface class string