Java面向对象编程(3)--抽象类,接口,final

Java面向对象编程(3)--抽象类,接口,final

抽象类,存在的原因

父类方法的不确定性

解决之道

当父类的一些方法不确定的时候,可以用abstract关键字来修饰该方法【抽象方法】,用abstract来修饰该类『抽象类』

案例:

package com.panhui_1;

 

public classDemo9_23_1 {

 

    public static void main(String[] args) {

        // TODO Auto-generated method stub

 

    }

 

}

 

 

 

//动物类

//方法和类要同时被修饰,不然会报错

abstract classAnimal

{

   String name;

   intage;

   

   //动物会叫,不知道具体的实现方法

   abstractpublicvoidcry();

   

}

 

//当一个类继承的父类是抽象的话

//需要把抽象类中的所有抽象方法全部实现

class Cat extendsAnimal

{

   

    //事项父类中的cry

    public void cry()

    {

        //do nothing or thing.......

    }

}

可以理解为,子类方法在父类中申明,而且父类中的方法不需要实现方法内容。

抽象类----深入讨论

1, abstract关键字来修饰一个类的时,叫做抽象类

2, abstract关键字来修饰一个方法时,叫做抽象方法。

 

接口,存在的原因

Usb插槽就是现实中的接口。这个usb可以接很多不同的设备,显然每个设备的内部结构都是不同的,但是都可以使用用同一个接口

接口的使用语法


小结:

接口是更加抽象的抽象的类,抽象类中有很多方法体,接口里的方法都是没有方法体(方法实现内容)。有点像是将方法的申明都卸载一个类中,这个抽象的类就是接口

案例:接口,电脑,相机,u盘,手机。

package com.panhui_1;

 

public classDemo9_23_2 {

 

    public static void main(String[] args) {

        // TODO Auto-generated method stub

 

        System.out.println(Usb.a);

        Computercomputer=newComputer();

        //创建Cameral

        Camerac1 = new Camera();

        Phonep1 = new Phone();

        computer.useUsb(c1);

        computer.useUsb(p1);

    }

 

}

 

 

//usb 接口

interface Usb

{

   inta= 1;

   //申明两个方法

   publicvoidstart();

   publicvoidstop();

}

 

//编写一个照相机类,并实现USb接口,

//一个重要的原则,当一个类使用一个接口的时候,

//就要求该类吧这个接口的所有方法都实现。

class Camera implements Usb

{

   publicvoidstart()

   {

    System.out.println("我是相机,开始工作");

   

   }

   

   publicvoidstop()

   {

    System.out.println("我是相机,停止工作");

   

   }

}

 

 

//编写一个手机类

class Phone implements Usb

{

   publicvoidstart()

   {

    System.out.println("我是手机,开始工作");

   

   }

   

   publicvoidstop()

   {

    System.out.println("我是手机,停止工作");

   

   }

}

 

 

//计算机

class Computer

{

    //开始使用usb接口

    public void useUsb(Usb usb)

    {

        usb.start();

        usb.stop();

       

    }

}

截图

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值