Movatterモバイル変換


[0]ホーム

URL:


Documentation

The Java™ Tutorials
Object-Oriented Programming Concepts
What Is an Object?
What Is a Class?
What Is Inheritance?
What Is an Interface?
What Is a Package?
Questions and Exercises
Trail: Learning the Java Language
Lesson: Object-Oriented Programming Concepts
Home Page >Learning the Java Language >Object-Oriented Programming Concepts
« Previous • Trail • Next »

The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available.
SeeDev.java for updated tutorials taking advantage of the latest releases.
SeeJava Language Changes for a summary of updated language features in Java SE 9 and subsequent releases.
SeeJDK Release Notes for information about new features, enhancements, and removed or deprecated options for all JDK releases.

What Is an Interface?

As you've already learned, objects define their interaction with the outside world through the methods that they expose. Methods form the object'sinterface with the outside world; the buttons on the front of your television set, for example, are the interface between you and the electrical wiring on the other side of its plastic casing. You press the "power" button to turn the television on and off.

In its most common form, an interface is a group of related methods with empty bodies. A bicycle's behavior, if specified as an interface, might appear as follows:

interface Bicycle {    //  wheel revolutions per minute    void changeCadence(int newValue);    void changeGear(int newValue);    void speedUp(int increment);    void applyBrakes(int decrement);}

To implement this interface, the name of your class would change (to a particular brand of bicycle, for example, such asACMEBicycle), and you'd use theimplements keyword in the class declaration:

class ACMEBicycleimplements Bicycle {    int cadence = 0;    int speed = 0;    int gear = 1;   // The compiler will now require that methods   // changeCadence, changeGear, speedUp, and applyBrakes   // all be implemented. Compilation will fail if those   // methods are missing from this class.    void changeCadence(int newValue) {         cadence = newValue;    }    void changeGear(int newValue) {         gear = newValue;    }    void speedUp(int increment) {         speed = speed + increment;       }    void applyBrakes(int decrement) {         speed = speed - decrement;    }    void printStates() {         System.out.println("cadence:" +             cadence + " speed:" +              speed + " gear:" + gear);    }}

Implementing an interface allows a class to become more formal about the behavior it promises to provide. Interfaces form a contract between the class and the outside world, and this contract is enforced at build time by the compiler. If your class claims to implement an interface, all methods defined by that interface must appear in its source code before the class will successfully compile.


Note: To actually compile theACMEBicycle class, you'll need to add thepublic keyword to the beginning of the implemented interface methods. You'll learn the reasons for this later in the lessons onClasses and Objects andInterfaces and Inheritance.
« PreviousTrailNext »

About Oracle |Contact Us |Legal Notices |Terms of Use |Your Privacy Rights

Copyright © 1995, 2024 Oracle and/or its affiliates. All rights reserved.

Previous page: What Is Inheritance?
Next page: What Is a Package?

[8]ページ先頭

©2009-2025 Movatter.jp