//方法为抽象方法cry
//父类申明抽象类Animal
1、不能被实例化:Animal an = new Animail();
2、抽象类可以没有抽象方法
3、一旦一个类被申明为抽象方法,该类一定是abstract
4、一定不能有主题,也就是后面一定不能加{}
5、抽象类里面可以有实现的方法
abstract class Animal{
abstract public void cry();
}
//子类需要实现全部继承的抽象方法
class Cat extends Animal{
public void cry()
{
System.out.println("");
}
}
class Dog extends Animal{
public void cry()
{
System.out.println("汪");
}
}
接口
由于java是单继承的,所以要用到接口,可以多实现接口
1、接口不能被实例化,Usb usb = new Usb();
2、接口所有方法不能有主体,也就是不能有大括号public void start(){};
这一点与抽象类不同
3、一个类可以实现多个接口
4、接口之中可以有变量
a、不能用private或protected修饰
b、都是static类型,是final
c、把常用变量放在接口中,作为全局变量使用
5、接口不能继承其他类,但是能继承其他接口
public class HelloInterface {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Computer cmp = new Computer();
Camera cm = new Camera();
cmp.useUsb(cm);
}
}
//定义接口usb
interface Usb{
public void start();
public void stop();
}
interface Power{
public void start();
public void stop();
}
//当一个类实现了一个借口,就要求该类将借口的所有功能统统实现
class Camera implements Usb,Power{
public void start(){
System.out.println("相机开始");
}
public void stop(){
System.out.println("相机结束");
}
}
class Phone implements Usb{
public void start(){
System.out.println("手机开始");
}
public void stop(){
System.out.println("手机结束");
}
}
class Computer{
public void useUsb(Usb usb){
usb.start();
usb.stop();
}
}