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

java 基础知识二(抽象类‘、接口)

2017-03-18 17:15 381 查看


1.抽象类---abstract
       当父类的方法不确定时候,可以abstract关键修饰这种方法,可以修饰这种方法,同样修饰这样类:
1)当一个类继承父类是抽象类,子类必须实现父类其中所有的抽象方法
2)   抽象方法必须在抽象类,抽象方法在父类不能实现 只能是这样 abstract public void cry();没有主体
3) 抽象类 不能实例化; anmial an=new anmial() 出现问题
4) 抽象类没有abstract方法,不能有主体  
主体: abstract void cry(){   }

public class demo_2 {
anmial an =new anmial();//会报错 抽象方法不能实例会
Cat cat=new Cat();
}

abstract class anmial{
String name;
int age;

//动物会叫,不知道会怎样去叫 ---必须要抽象
//抽象方法在抽象类中  抽象类同样继承
abstract public void cry();
}
//当一个类继承父类是抽象类,子类必须实现其中所有的抽象方法
class Cat extends anmial{

public void cry()
{
//实现;不会报错
}

}

2. 接口----实现多继承和多态
class 类名 implement interface
{
}
     1). 实现接口的话,必须实现接口中所有的方法
     2). 接口不能实例化,接口中所有方法不能用主体
     3).调用接口 接口过程有变量{但是变量不能用private 和 protected 修饰,变量要初始化}---接口中变量都是static类型,并且接口中变量常变量必须要初始化---接口中变量本质上静态的且final类型。
     4).一个接口不能继承其他类  可以继承其他接口;但是实现接口时候除了实现本接口中方法,还要实现继承的接口中方法

/**
*
*/
package ExtendsDemo;

/**
* @author
*
*/
public interface USB extends kkk {
int a=0;//static 类型且 final
public void start();
public void stop();}

interface kkk{
public void fry();}
//一个类实现多个接口
class Camera implements USB,kkk
{
//当一个类实现某个接口,必须该类实现接口所有方法
@Override
public void start() {
// TODO Auto-generated method stub
System.out.println("我是相机 开始工作");}

@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println("我是相机 停止工作");}

@Override
public void fry() {
// TODO Auto-generated method stub
}
}

class Phone implements USB
{

@Override
public void start() {
// TODO Auto-generated method stub
System.out.println("我是phone 开始工作");}

@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println("我是phone 停止工作");}

@Override
public void fry() {
// TODO Auto-generated method stub
}
}

class Computer{

public void USeUsb( USB usb)
{//多态,电脑自己识别调用不同实例
usb.start();
usb.stop();}}


两者区别:
      1. 抽象类可以为成员方法提供实现的细节,但是接口 只能有public abstract方法 不能有private或者protected修饰成员方法
接口方法都是public。
     2.抽象类成员变量各种类型,但是接口中变量只能是public static静态变量
     3.接口中不能用静态代码块或者静态的方法
    4.接口不能继承其他类,继承其他的接口,一个类只能继承一个抽象类但是实现多个接口(接口只能继承接口,类只能继承一个抽象类)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: