码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA --抽象类 接口(一)

时间:2015-09-08 07:06:01      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:java 接口 抽象类

一个简单的抽象类:

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

public class demo{
    public static void main(String[] args){
        
    }
}
//这就是一个抽象类
abstract class Animal{
    String name;
    int age;
    public void cry();
    //抽象方法绝对不能实现,看下一句
    //public void cry() {};  //error
}
//当一个类继承的父类是抽象类的话,子类中需要把抽象类中的所有抽象
//方法全部实现
class Cat extends Animal{
    //实现父类的cry
    public void cry()
    {
        //do nothing ...
        System.out.println("...");
    }
}

注意:
    1.用abstract 关键字来修饰一个类时,这个类就叫抽象类
    2.用abstract 关键字修饰的一个方法时,这个方法就是抽象方法。
    3.抽象类不能被实例化
        Animal an = new Animal(); //error
    4.抽象类不一定包含abstract方法
    5.一旦一个类包含了一个abstract方法,则这个类必须声明为abstract
    6.抽象方法不能有主体(也就是{});
    7.抽象类中可以有实现了得方法;如果方法有abstract修饰,则不可以实现.

接口的概念:

    接口:给出一些没有内容的方法,封装到一起,到某个类要使用的时候,再根据具体情况把这些方法写出来。 语法:

    class 类名 implements 接口{

            方法;

            变量;

}

小结:接口是更加抽象的类,抽象类里的方法可以有方法体,接口里的所有方法都没有方法体。接口体现了程序设计的多态和高内聚低耦合的设计思想。

public class Test{
    public static void main(String[] args){
    
    }
}
//USB接口
interface  Usb{
    public void start();
    public void stop();
}
//编写照相机类,并实现Usb接口
//一个重要的原则:当一个类实现了一个接口,要求该类把则这个接口
//的所有方法实现。
class Camera implements Usb{
    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
        usb.start();
        usb.stop();
    }
}
public class Test(){
    public static void main(String[] args){
        Computer computer=new Computer();
        Camera camera1 = new Camera();
        Phone phone1 = new Phone();
        computer.useUsb(camera1);
        computer.useUsb(phone1);
    }
}

技术分享

a.  接口中的变量,本质上是static的,而且是final;

interface Aaa{
    public void Eee();
}

interface Kkk extends Aaa{
    
}

















JAVA --抽象类 接口(一)

标签:java 接口 抽象类

原文地址:http://zhouxinzhe.blog.51cto.com/9031522/1692576

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!