Skip to Content
Jython Essentials
book

Jython Essentials

by Samuele Pedroni, Noel Rappin
March 2002
Beginner
300 pages
8h 22m
English
O'Reilly Media, Inc.
Content preview from Jython Essentials

Chapter 7. Inheriting from Java

Inheritance and the resulting reuse of code is a key feature of object-oriented programming, supported both by Java and Python. The ability to create subclasses is vital to the flexible use of an object-oriented library. In particular, many Java libraries are designed so that inheriting their classes or implementing their interfaces is the best way to use them. GUI libraries (AWT or Swing) are prime examples of this.

To allow effective access to preexisting Java code, Jython supports direct inheritance from Java classes. This is done without any additional syntax and with natural extensions of the semantics explained so far.

Extending an existing Java class is as simple as putting the Java class name in the base classes list of a Jython class statement. The following Java code defines a Java class MentalState to be subclassed in Jython:

public class MentalState {

    public int energy;

    public MentalState(int e) {
        this.energy = e;
    }

    public int askEnergy( ) { return energy; }
}

The following Jython code actually defines a Jython subclass of MentalState. For the Jython code to work, MentalState must be in the Jython classpath.

import MentalState

class FlexibleMentalState(MentalState):
    pass

if __name__ == '__main__':
    flexible = FlexibleMentalState(3)
    print flexible.askEnergy( )

3

Similarly, implementing an interface is as simple as putting one or more interface names in the base classes list. The only restriction is that a Jython class can only be a subclass of, ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Swing for Jython: Graphical Jython UI and Scripts Development using Java Swing and WebSphere Application Server

Swing for Jython: Graphical Jython UI and Scripts Development using Java Swing and WebSphere Application Server

Robert Gibson
Introduction to JVM Languages

Introduction to JVM Languages

Ramasubramanian Sankar, Vincent van der Leun
Oracle Essbase & Oracle OLAP

Oracle Essbase & Oracle OLAP

Michael Schrader, Dan Vlamis, Mike Nader, Chris Claterbos, Dave Collins, Mitch Campbell, Floyd Conrad

Publisher Resources

ISBN: 9781449397364Errata Page