100% found this document useful (7 votes)
64 views

PDF Murach s Java Programming 4th Edition Joel Murach download

Joel

Uploaded by

crankrejas14
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (7 votes)
64 views

PDF Murach s Java Programming 4th Edition Joel Murach download

Joel

Uploaded by

crankrejas14
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 60

Download the full version of the ebook at ebookname.

com

Murach s Java Programming 4th Edition Joel Murach

https://ebookname.com/product/murach-s-java-programming-4th-
edition-joel-murach/

OR CLICK BUTTON

DOWNLOAD EBOOK

Download more ebook instantly today at https://ebookname.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Murach s Android Programming 2nd Edition Joel Murach

https://ebookname.com/product/murach-s-android-programming-2nd-
edition-joel-murach/

ebookname.com

Murach s C 2012 5th Edition Joel Murach

https://ebookname.com/product/murach-s-c-2012-5th-edition-joel-murach/

ebookname.com

Murach s PHP and MySQL training reference 2nd Edition Joel


Murach

https://ebookname.com/product/murach-s-php-and-mysql-training-
reference-2nd-edition-joel-murach/

ebookname.com

New Directions in US Foreign Policy Routledge Studies in


US Foreign Policy 1st Edition Inderjeet Parmar

https://ebookname.com/product/new-directions-in-us-foreign-policy-
routledge-studies-in-us-foreign-policy-1st-edition-inderjeet-parmar/

ebookname.com
Molecules of Death 2nd Edition R. H. Waring

https://ebookname.com/product/molecules-of-death-2nd-edition-r-h-
waring/

ebookname.com

Graduate study in criminology and criminal justice a


program guide 1st Edition Nicole M Prior

https://ebookname.com/product/graduate-study-in-criminology-and-
criminal-justice-a-program-guide-1st-edition-nicole-m-prior/

ebookname.com

Cardiology Explained Remedica Explained 1st Edition Euan


Ashley

https://ebookname.com/product/cardiology-explained-remedica-
explained-1st-edition-euan-ashley/

ebookname.com

Human Genetics 8th Edition Ricki Lewis

https://ebookname.com/product/human-genetics-8th-edition-ricki-lewis/

ebookname.com

The Routledge Companion to Early Modern Europe 1453 1763


Chris Cook

https://ebookname.com/product/the-routledge-companion-to-early-modern-
europe-1453-1763-chris-cook/

ebookname.com
Mind Wide Open Your Brain and the Neuroscience of Everyday
Life 1st Edition Steven Johnson

https://ebookname.com/product/mind-wide-open-your-brain-and-the-
neuroscience-of-everyday-life-1st-edition-steven-johnson/

ebookname.com
M urach

mu rach's

programming
4™ EDITION
JOEL MURACH

A CORE JAVA BOOK


that teaches you the Java essentials
at a professional pace,
using the time-saving features ofNetBeans

AN OBJECT-ORIENTED BOOK
that shows you how ro use business classes,
inheritance, and interfaces the way they’re
used in the real world

A GUI PROGRAMMING BOOK


that show's you how to develop graphical user
interfaces that handle events and validate data

A DATA ACCESS BOOK


that shows you how to develop
3-tier, object-oriented, database applications
the way the pros do it
TRAINING & REFERENCE

murach's

programming
4th EDITION
Joel Murach

M ike M u r a c h & A sso ciates , I n c .


4340 N. Knoll Ave. · Fresno, CA 93722
www.murach.com · murachbooks@murach.com
Author: Joel Murach
Editor: Anne Boehm
Cover design: Zylka Design
Production: Maria Pedroza David

Books for Java programmers


Murach’s Java Programming
Murach’s Java Servlets and JSP

Books for database programmers


Murach’s Oracle SQL and PL/SQL
Murach’s MySQL
Murach’s SQL Server fo r Developers

Books for web developers


Murach ’s HTML5 and CSS3
Murach’s JavaScript and DOM Scripting
Murach’s PHP and MySQL

Books for .NET programmers


Murach’s C # 2010
Murach’s ASP.NET 4 Web Programming with C#2010
Murach’s ADO.NET 4 Database Programming with C# 2010
Murach’s Visual Basic 2010
Murach’s ASP.NET 4 Web Programming with VB 2010
Murach’s ADO.NET 4 Database Programming with VB 2010

Books for IBM mainframe programmers


Murach’s OS/390 and z/OS JCL
Murach’s Mainframe COBOL
Murach’s CICSforthe COBOL Programmer
DB2 for the COBOL Programmer, Part 1

© 2011, Mike Murach & Associates, Inc.


All rights reserved.

Printed in the United States of America

10 9 8 7 6 5 4 3 2 1
ISBN: 978-1-890774-65-3
Contents
Introduction XV

S ection 1 Essential Java skills


Chapter 1 How to get started with Java and NetBeans 3
Chapter 2 Introduction to Java programming 35
Chapter 3 How to work with data 79
Chapter 4 How to code control statements 111
Chapter 5 How to validate input data 145
Chapter 6 How to test and debug an application 167

S ection 2 O b ject-oriented program m ing w ith Java


Chapter 7 How to define and use classes 185
Chapter 8 How to work with inheritance 237
Chapter 9 How to work with interfaces 275
Chapter 10 Other object-oriented programming skills 311

S ection 3 M ore Jav a skills


Chapter 11 How to work with arrays 339
Chapter 12 How to work with collections and generics 363
Chapter 13 How to work with dates and strings 405
Chapter 14 How to handle exceptions 431

S ection 4 GUI program m ing w ith Swing


Chapter 15 How to develop a form 459
Chapter 16 How to work with controls and handle events 501
Chapter 17 How to develop and deploy applets 537

S ection 5 D ata access program m ing w ith Java


Chapter 18 How to work with text and binary files 559
Chapter 19 How to work with XML 613
Chapter 20 How to work with a Derby database 645
Chapter 21 How to use JDBC to work with a database 677

S ection 6 Advanced J ava skills


Chapter 22 How to work with threads 717
Chapter 23 How to deploy an application 751

A ppendixes
Appendix A How to set up your PC for this book 771
Appendix B How to set up your Mac for this book 111
E x p a n d e d c o n te n ts

Section 1 Essential Java skills


Chapter 1 How to get started with Java and NetBeans
Introduction to Java............................................................................. 4
Toolkits and platforms..................................................................................................... 4
How Java compares to C++ and C #................................................................................. 4
Applications, applets, and servlets.................................................................................. 6
The code for the console version of the Future Value application.................................. 8
How Java compiles and interprets code....................................................................... 10
Introduction to Java ID E s............................................................................................. 12
How to use NetBeans to work with existing projects................... 14
Introduction to Java projects and the NetBeans ID E ................................................... 14
How to open, close, and delete a project..................................................................... 16
How to compile and run a project................................................................................. 16
How to use the Output window with a console application........................................ 18
How to work with two or more projects........................................................................ 20
How to use NetBeans to develop new projects............................ 22
How to create a new project.......................................................................................... 22
How to set the Java version for a project....................................................................... 24
How to work with Java source code and files................................................................26
How to use the code completion feature........................................................................ 28
How to detect and correct syntax errors........................................................................ 30

Chapter 2 Introduction to Java programming


Basic coding skills............................................................................36
How to code statements................................................................................................. 36
How to code comments................................................................................................. 36
How to create identifiers.................................................................................................38
How to declare a class and a main method....................................................................40
How to work with numeric variables...............................................42
How to declare and initialize variables..........................................................................42
How to code assignment statements..............................................................................44
How to code arithmetic expressions..............................................................................44
How to work with string variables...................................................46
How to create a String object......................................................................................... 46
How to join and append strings..................................................................................... 46
How to include special characters in strings..................................................................48
How to use Java classes, objects, andmethods............................50
How to create objects and call methods........................................................................ 50
How to import Java classes............................................................................................ 52
How to use the API documentation to research Java classes........................................ 54
How to use the console for input and output................................ 56
How to use the System.out object to print output to the console................................. 56
How to use the Scanner class to read input from the console...................................... 58
Examples that get input from the console.....................................................................60
How to code simple control statements........................................ 62
How to compare numeric variables............................................................................... 62
How to compare string variables................................................................................... 62
How to code if/else statements...................................................................................... 64
How to code while statements....................................................................................... 66
Expanded contents V

Two illustrative applications............................................................. 68


The Invoice application.................................................................................................. 68
The Test Score application..............................................................................................70
How to test and debug an application............................................. 72
How to test an application..............................................................................................72
How to debug an application..........................................................................................72

Chapter 3 How to work with data


Basic skills for working with d a ta .................................................... 80
The eight primitive data types........................................................................................80
How to declare and initialize variables........................................................................ 82
How to declare and initialize constants....................................................................... 84
How to code assignment statements and arithmetic expressions.................................. 86
How to use the shortcut assignment operators...............................................................88
How to work with the order of precedence.................................................................... 90
How to work with casting...............................................................................................92
How to use Java classes for working with data typ es................... 94
How to use the NumberFormat class........................................................................... 94
How to use the Math class........................................................................................... 96
How to use the Integer and Double classes.................................................................98
The formatted Invoice application.................................................. 100
The code for the application....................................................................................... 100
A bug in the arithmetic............................................................................................... 102
How to debug the application..................................................................................... 102
How to use the BigDecimal class................................................... 104
The constructors and methods.................................................................................... 104
How to use BigDecimal arithmetic............................................................................. 106

Chapter 4 How to code control statements


How to code Boolean expressions................................................. 112
How to compare primitive data types......................................................................... 112
How to compare strings.............................................................................................. 114
How to use the logical operators................................................................................ 116
How to code if/else and switch statements................................... 118
How to code if/else statements................................................................................... 118
How to code switch statements................................................................................... 120
An enhanced version of the Invoice application......................................................... 124
How to code loops............................................................................126
How to code while and do-while loops...................................................................... 126
How to code for loops................................................................................................. 128
The Future Value application...................................................................................... 130
How to code nested loops........................................................................................... 132
How to code break and continue statements................................ 134
How to code break statements.................................................................................... 134
How to code continue statements.................................................................................136
How to code and call static methods............................................. 138
How to code static methods........................................................................................ 138
How to call static methods.......................................................................................... 138
The Future Value application with a static method..................................................... 140
Expanded contents

Chapter 5 How to validate input data


How to handle exceptions............................................................... 146
How exceptions w ork...................................................................................................146
How to catch exceptions............................................................................................. 148
The Future Value application with exception handling...............................................150
How to validate data......................................................................... 152
How to prevent exceptions from being thrown.......................................................... 152
How to validate a single entry................................................................................... 154
How to use generic methods to validate an entry...................................................... 156
The Future Value application with data validation........................158
The console................................................................................................................. 158
The co d e....................................................................................................................... 160

Chapter 6 How to test and debug an application


Basic skills for testing and debugging.......................................... 168
Typical test phases...................................................................................................... 168
The three types of errors............................................................................................. 168
Common Java errors.....................................................................................................170
A simple way to trace code execution....................................................................... 172
How to use NetBeans to debug an application.............................174
How to set and remove breakpoints........................................................................... 174
How to step through code........................................................................................... 176
How to inspect variables...............................................................................................176
How to inspect the stack trace.................................................................................... 178

Section 2 Object-oriented programming with Java

Chapter 7 How to define and use classes


An introduction to classes.............................................................. 186
How classes can be used to structure an application................................................. 186
How encapsulation works.............................................................................................188
The relationship between a class and its objects......................................................... 190
How to code a class that defines an object...................................192
How to use NetBeans to create a new class............................................................... 192
The code for the Product class.................................................................................... 194
How to code instance variables.................................................................................. 196
How to code constructors........................................................................................... 198
How to code m ethods.................................................................................................. 200
How to overload methods............................................................................................ 202
How to use the this keyword........................................................................................ 204
How to use NetBeans to work with classes.................................................................206
How to create and use an object....................................................208
How to create an object............................................................................................... 208
How to call the methods of an object.......................................................................... 210
How primitive types and reference types are passed to a method.............................. 212
A ProductDB class that creates a Product object........................................................214
A ProductApp class that uses a Product object...........................................................216
How to code and use static fields and methods...........................218
How to code static fields and methods........................................................................ 218
How to call static fields and methods.......................................................................... 220
How to code a static initialization block......................................................................222
When to use static fields and methods.........................................................................222
Expanded contents

The Line Item application................................................................ 224


The console...................................................................................................................224
The class diagrams....................................................................................................... 224
The code for the classes................................................................................................226

Chapter 8 How to work with inheritance


An introduction to inheritance........................................................ 238
How inheritance works.................................................................................................238
How the Java API uses inheritance.............................................................................. 240
How the Object class works......................................................................................... 242
How to use inheritance in your applications................................................................244
Basic skills for working with inheritance.......................................246
How to create a superclass........................................................................................... 246
How to create a subclass...............................................................................................248
How polymorphism works........................................................................................... 250
The Product application.................................................................. 252
The console...................................................................................................................252
The ProductApp class.................................................................................................. 254
The Product, Book, and Software classes.................................................................... 256
The ProductDB class....................................................................................................256
More skills for working with inheritance........................................260
How to get information about an object’s type............................................................260
How to cast objects...................................................................................................... 262
How to compare objects.............................................................................................. 264
How to work with the abstract and finalkeywords....................... 266
How to work with the abstract keyword...................................................................... 266
How to work with the final keyword......................................................................... 268

Chapter 9 How to work with interfaces


An introduction to interfaces.......................................................... 276
A simple interface.........................................................................................................276
Interfaces compared to abstract classes....................................................................... 278
Some interfaces of the Java A P I.................................................................................. 280
How to work with interfaces............................................................282
How to code an interface........................................................................................... 282
How to implement an interface.................................................................................... 284
How to inherit a class and implement an interface......................................................286
How to use an interface as a parameter..................................................................... 288
How to use inheritance with interfaces...................................................................... 290
How to use NetBeans to work with interfaces...........................................................292
A Product Maintenance application thatuses interfaces.............294
The class diagram.........................................................................................................294
The console...................................................................................................................296
The DAOFactory class..................................................................................................298
The ProductTextFile class............................................................................................ 298
The ProductMaintApp class........................................................................................ 300
How to implement the Cloneable interface...................................304
A Product class that implements the Cloneable interface...........................................304
A Lineltem class that implements the Cloneable interface........................................ 306
Viiî Expanded contents

Chapter 10 Other object-oriented programming skills


How to work with packages.............................................................312
An introduction to packages.........................................................................................312
How to use NetBeans to work with packages.............................................................. 314
How to use NetBeans to work with libraries................................................................316
How to use javadoc to document a package................................. 318
How to add javadoc comments to a class.....................................................................318
How to use HTML and javadoc tags in javadoc comments......................................... 320
How to use NetBeans to generate documentation....................................................... 322
How to view the documentation for a package............................................................ 322
How to code classes that are closely related................................ 324
How to code more than one class per file.....................................................................324
An introduction to nested classes.................................................................................326
How to work with enumerations..................................................... 328
How to declare an enumeration....................................................................................328
How to use an enumeration.......................................................................................... 328
How to enhance an enumeration...................................................................................330
How to work with static imports...................................................................................330

Section 3 More Java skills

Chapter 11 How to work with arrays


Basic skills for working with arrays............................................... 340
How to create an array.................................................................................................. 340
How to assign values to the elements of an array........................................................ 342
How to use for loops with arrays..................................................................................344
How to use enhanced for loops with arrays..................................................................346
More skills for working with arrays................................................ 348
The methods of the Arrays class................................................................................... 348
Code examples that work with the Arrays class.......................................................... 350
How to implement the Comparable interface.............................................................. 352
How to create a reference to an array...........................................................................354
How to copy an array.................................................................................................... 354
How to work with two-dimensional arrays.................................... 356
How to work with rectangular arrays...........................................................................356
How to work with jagged arrays................................................................................... 358

Chapter 12 How to work with collections and generics


An introduction to Java collections............................................... 364
A comparison of arrays and collections.......................................................................364
An overview of the Java collection framework............................................................366
An introduction to generics.......................................................................................... 368
How to use the ArrayList class....................................................... 370
The ArrayList class....................................................................................................... 370
Code examples that work with array lists.....................................................................372
An Invoice application that uses an array lis t............................... 374
An overview of the Invoice application........................................................................374
The code for the Invoice class......................................................................................376
The code for the InvoiceApp class...............................................................................378
Expanded contents ix

How to use the LinkedList class..................................................... 380


The LinkedList class..................................................................................................... 380
Code examples that work with linked lists...................................................................382
A class that uses a linked list to implement a generic queue....................................... 384
An enhanced version of the Invoice application........................... 386
An overview of the enhanced Invoice application....................................................... 386
The code for the InvoiceApp class...............................................................................388
How to work with m aps................................................................... 392
The HashMap and TreeMap classes.............................................................................392
Code examples that work with hash maps and tree m aps........................................... 394
How to work with legacy collections.............................................. 396
An introduction to legacy collection classes................................................................ 396
How to use an untyped collection.................................................................................398
How to use wrapper classes with untyped collections................................................. 400

Chapter 13 How to work with dates and strings


How to work with dates and tim es................................................. 406
How to use the GregorianCalendar class to set dates and times.................................. 406
How to use the Calendar and GregorianCalendar fields and methods........................408
How to use the Date class.............................................................................................410
How to use the DateFormat class to format dates and tim es....................................... 412
A DateUtils class that provides methods for handling dates....................................... 414
An Invoice class that includes an invoice date............................................................. 416
How to work with the String class.................................................. 418
Constructors of the String class....................................................................................418
Code examples that create strings.................................................................................418
Methods of the String class..........................................................................................420
Code examples that work with strings......................................................................... 422
How to work with the StringBuilder class..................................... 424
Constructors and methods of the StringBuilder class.................................................. 424
Code examples that work with the StringBuilder class............................................... 426

Chapter 14 How to handle exceptions


An introduction to exceptions........................................................ 432
The exception hierarchy...............................................................................................432
How exceptions are propagated....................................................................................434
How to work with exceptions.......................................................... 436
How to use the try statement........................................................................................ 436
How to use the try-with-resources statement............................................................... 438
How to use the methods of an exception..................................................................... 440
How to use a multi-catch block....................................................................................442
How to use the throws clause.......................................................................................444
How to use the throw statement....................................................................................446
How to work with custom exception classes................................ 448
How to create your own exception class.......................................................................448
How to use exception chaining.....................................................................................450
How to work with assertions........................................................... 452
How to code assert statements......................................................................................452
How to enable and disable assertions.......................................................................... 452
Expanded contents

Section 4 GUI programming with Swing


Chapter 15 How to develop a form
An introduction to S w ing.................................................................460
The user interface for the Future Value Calculator application................................... 460
The inheritance hierarchy for Swing components....................................................... 462
How to design a form........................................................................464
How to create a project for a GUI application...........................................................464
How to add a form to a project.................................................................................. 464
How to add controls to a form ................................................................................... 466
How to set properties.................................................................................................... 468
Common properties for forms and controls................................................................. 470
How to add code to a form .............................................................. 472
How to set the variable name for a control................................................................472
How to create an event handler for a control.............................................................474
How to rename or remove an event handler................................................................ 476
How to enter the code for a form..................................................................................478
Common methods for controls.....................................................................................480
How to display and center a form.................................................................................482
The code for the FutureValueFrame class................................................................... 484
How to validate Swing input data................................................... 486
How to display error messages.....................................................................................486
How to validate the data entered into a text field ........................................................ 488
The SwingValidator class............................................................................................. 490
How to validate multiple entries...................................................................................492
The Future Value application...........................................................494
The user interface......................................................................................................... 494
The co d e........................................................................................................................494

Chapter 16 How to work with controls and handle events


How to work with components........................................................502
How to work with text areas......................................................................................... 502
How to work with check boxes..................................................................................... 504
How to work with radio buttons...................................................................................506
How to work with combo boxes...................................................................................508
How to work with lists.................................................................................................. 510
The Payment application..................................................................514
The user interface......................................................................................................... 514
The co d e........................................................................................................................514
How to code low-level events..........................................................518
A summary of low-level events....................................................................................518
How to work with focus events....................................................................................520
How to work with keyboard events..............................................................................522
The Product Maintenance application........................................... 524
The user interface......................................................................................................... 524
The co d e........................................................................................................................526

Chapter 17 How to develop and deploy applets


An introduction to applets...............................................................538
The Future Value Calculator applet..............................................................................538
A brief history of applets.............................................................................................. 538
Applet security issues................................................................................................... 540
The inheritance hierarchy for applets...........................................................................542
Four methods of an applet............................................................................................ 542
Expanded contents XI

How to develop applets................................................................... 544


How to develop a panel for an applet.......................................................................... 544
How to code an applet..................................................................................................546
How to test an applet with the Applet Viewer............................................................. 546
How to deploy applets..................................................................... 548
A procedure for deploying an applet........................................................................... 548
How to create an HTML document for an applet........................................................ 550
How to run an applet within a web browser................................................................ 552

Section 5 Data access programming with Java


Chapter 18 How to work with text and binary files
Introduction to directories and files............................................... 560
A package for working with directories and files........................................................ 560
Code examples that work with directories and files....................................................562
Introduction to file input and output.............................................. 564
How files and streams work..........................................................................................564
A file I/O example........................................................................................................ 566
How to work with I/O exceptions.................................................................................568
How to work with text files .............................................................. 570
How to connect a character output stream to a file...................................................... 570
How to write to a text file .............................................................................................572
How to connect a character input stream to a file........................................................574
How to read from a text file..........................................................................................576
An interface for working with file I/O ......................................................................... 578
A class that works with a text file.................................................................................580
How to work with binary files.......................................................... 584
How to connect a binary output stream to a file.......................................................... 584
How to write to a binary file.........................................................................................586
How to connect a binary input stream to a file............................................................ 588
How to read from a binary file......................................................................................590
Two ways to work with binary strings......................................................................... 592
How to work with random-access files.......................................... 594
How to connect to a random-access file ...................................................................... 594
How to read to and write from a random-access file................................................... 596
How to read and write fixed-length strings.................................................................. 598
A class that works with a random-access file.............................................................. 600

Chapter 19 How to work with XML


Introduction to X M L ......................................................................... 614
An XML document.......................................................................................................614
XML tags, declarations, and comments...................................................................... 616
XML elements.............................................................................................................. 616
XML attributes.............................................................................................................. 618
An introduction to DTDs..............................................................................................620
How to view and edit an XML file.................................................... 622
How to view an XML file.............................................................................................622
How to edit an XML file...............................................................................................622
An introduction to three XML APIs................................................. 624
DOM ............................................................................................................................. 624
SA X .............................................................................................................................. 624
StAX............................................................................................................................. 624
xii Expanded, contents

How to use StAX to work with XML...............................................626


How to create an XMLStreamWriter object................................................................ 626
How to write X M L ....................................................................................................... 628
How to create an XMLStreamReader object............................................................... 630
How to read XML......................................................................................................... 632
A class that works with an XML file............................................................................636

Chapter 20 How to work with a Derby database


How a relational database is organized....................................... 646
How a table is organized............................................................................................... 646
How the tables in a database are related.......................................................................648
How the columns in a database are defined................................................................. 650
How to use SQL to work with the data in a database................. 652
How to query a single table..........................................................................................652
How to join data from two or more tables................................................................... 654
How to add, update, and delete data in a table............................................................ 656
An introduction to Derby................................................................658
An overview of D erby.................................................................................................. 658
How to configure your system to work with a Derby database...................................660
How to use the ij tool to work with a Derby database................ 662
How to start and stop the ij tool....................................................................................662
How to connect to and disconnect from a database..................................................... 662
How to create a database and connect to i t .................................................................. 664
How to run SQL statements....................................................................................... 664
How to run SQL scripts from the ij prompt...............................................................666
How to run SQL scripts from the command prompt.................................................668
How to start and stop the Derby database server...................... 670
How to start the server................................................................................................670
How to stop the server................................................................................................670
How to learn more about Derby.....................................................672
How to view the Derby documentation....................................................................... 672
How to navigate through the documentation............................................................... 672

Chapter 21 How to use JDBC to work with databases


An introduction to Java database drivers................................... 678
The four driver types..................................................................................................... 678
How to add a database driver to a project.................................................................... 680
How to use Java to connect to a database...................................682
How to load a database driver.......................................................................................682
How to connect to an embedded database................................................................... 684
How to disconnect from an embedded database.......................................................... 686
How to connect to a networked database..................................................................... 688
How to use Java to work with a database................................... 690
How to return a result set..............................................................................................690
How to move the cursor through a result s e t............................................................... 692
How to return data from a result s e t............................................................................ 694
How to modify data in a database.................................................................................696
How to work with prepared statements....................................................................... 698
Two classes for working with databases..................................... 700
A utility class for working with strings....................................................................... 700
A class that works with a database...............................................................................702
Expanded contents xiii

An introduction to working with metadata....................................708


How to work with metadata......................................................................................... 708
How SQL data types map to Java data types...............................................................710

Section 6 Advanced Java skills


Chapter 22 How to work with threads
An introduction to threads.............................................................. 718
How threads work.........................................................................................................718
Typical uses for threads............................................................................................... 718
Classes and interfaces for working with threads.........................................................720
The life cycle of a thread............................................................................................. 722
How to create threads...................................................................... 724
Constructors and methods of the Thread class............................................................724
How to create a thread by extending the Thread class................................................726
How to create a thread by implementing the Runnable interface............................... 728
How to manipulate threads............................................................. 730
How to set a thread’s priority....................................................................................... 730
How to interrupt a thread............................................................................................. 732
How to synchronize threads........................................................... 734
How to create synchronized threads............................................................................734
How to communicate among threads.......................................................................... 736
The Order Queue application..........................................................738
The operation................................................................................................................738
The classes....................................................................................................................740
The OrderQueueApp class........................................................................................... 742
The Order class.............................................................................................................742
The OrderTaker class................................................................................................... 744
The OrderHandler class............................................................................................... 746
The QrderQueue class................................................................................................. 746

Chapter 23 How to deploy an application


An introduction to deployment....................................................... 752
How executable JAR files work................................................................................... 752
How Java Web Start w orks.......................................................................................... 752
How an installer program works.................................................................................. 752
How to use an executable JAR file ................................................. 754
How to create an executable JAR file.......................................................................... 754
How to deploy a GUI application................................................................................ 756
How to deploy a console application........................................................................... 758
How to use Java Web Start.............................................................. 760
A procedure for using Java Web S tart......................................................................... 760
How to create a JNLP file............................................................................................ 762
How to create an HTML document that launches an application.............................. 764
How to deploy an application to a remote web server.................................................766
How to launch an application...................................................................................... 768
How to fix a common problem.................................................................................... 768
Introduction
Since its release in 1996, the Java language has established itself as one of
the leading languages for object-oriented programming. Today, Java continues
to be one of the most popular languages for application development, especially
for web applications and for mobile applications like Android apps. And that’s
going to continue for many years to come, for several reasons.
First, developers can obtain Java and a wide variety of tools for working
with Java for free. Second, Java code can run on any modem operating system.
Third, Java’s development has been guided largely by the Java community, and
Sun Microsystems released most of Java as open source software in 2007. As a
result, the Java platform is able to evolve according to the needs of the
programmers who use the language. Although Sun was acquired by Oracle
Corporation in 2010, Oracle has committed itself to supporting Java and the
Java community.

Who this book is for


This book is for anyone who wants to learn the core features of the Java
language. It works if you have no programming experience at all. It works if
you have programming experience with another language. It works if you
already know an older version of Java and you want to get up-to-speed with the
latest version. And it works if you’ve already read three or four other Java books
and still don’t know how to develop a real-world application.
If you’re completely new to programming, the prerequisites are minimal.
You just need to be familiar with the operation of the platform that you’re using.
If, for example, you’re developing programs using Windows on a PC, you
should know how to use Windows to perform tasks like opening, saving,
printing, closing, copying, and deleting files.

What version of Java this book supports


This book is designed to work with the Java Platform, Standard Edition 7
(Java SE 7) or later. This edition of Java includes the Java Development Kit
(JDK). For marketing reasons, Oracle sometimes refers to this version of the
JDK as JDK 7. However, from a developer’s point of view, this version of the
JDK is commonly referred to as version 1.7.
Introduction

As you work with Java SE 7, please keep in mind that all Java versions are
backwards-compatible. That means that everything in this book will also work
with future versions of the JDK.

What operating systems this book supports


The Oracle web site provides the most current version of the JDK for the
Windows, Linux, and Solaris operating systems. As this book goes to press, the
Mac OS X operating system includes JDK 1.6, and there are some unofficial
builds available for JDK 1.7. Before long, OS X will provide support for JDK
1.7. Until then, you can install an unofficial build as described in appendix B.
Since most Java development today is done under Windows, this book uses
Windows to illustrate any platform-dependent procedures. However, whenever
possible, we describe these procedures for other operating systems too. For
example, appendix B shows how to install the software for this book on Mac
OS X. However, if you’re using another platform such as Linux or Solaris, you
may need to search the Internet for more information about performing these
platform-dependent procedures. Fortunately, if you use NetBeans as described
in this book, there are very few platform-dependent procedures.

What IDE this book supports


This book shows you how to use the NetBeans IDE (Integrated
Development Environment) to code, test, and debug applications. Although
there are other excellent IDEs for working with Java, we decided to present
NetBeans because we think it’s the best IDE for getting started with Java. It’s
intuitive, easy to use, available for free, and it runs on all operating systems.
Even if you want to use another IDE such as Eclipse, we recommend that
you use NetBeans to work with the applications presented in this book. Then,
once you’re done with this book, it should be easy for you to switch from
NetBeans to another IDE. However, if you’d prefer to get started with another
IDE right away, you can do that too. But first, you’ll need to convert the
NetBeans projects that are available from our web site so you can work with
them in your preferred IDE.

How to get the software you need


You can download all of the software that you need for this book for free
from the Internet. To make that easier for you, appendix A shows how to
download and install the JDK as well as NetBeans on a PC. Similarly, appendix
B shows how to download and install the JDK, NetBeans, and Derby on a Mac.
That’s all the software you need to start developing professional Java
applications on your own.
Introduction XVII

What you’ll learn in this book


Unlike competing books, this one focuses on the practical features that
you’ll need for developing professional Java applications. Here’s a quick tour:
• In section 1, you’ll quickly master the basics of the Java language. In chapter
1, you’ll learn how to get started with NetBeans. In chapter 2, you’ll learn
how to write console applications that use the Scanner class to get input
from the user. By the end of chapter 5, you’ll know how to code applications
that use custom methods to validate user input so they won’t crash. And in
chapter 6, you’ll learn how to use NetBeans to thoroughly test and debug
your applications.
• In section 2, you’ll learn how to use Java for object-oriented programming.
In chapter 7, you’ll learn how to create and use your own classes, which is
the basis for developing applications that are easier to test, debug, and
maintain. Then, in chapters 8 through 10, you’ll learn how to develop more
sophisticated classes that use inheritance, interfaces, packages, type-safe
enumerations, and the factory pattern. In addition, you’ll learn how to use
the three-tiered architecture that’s the standard used by most professionals
for designing and developing object-oriented, database applications.
• In section 3, you’ll learn more of the core Java features that you’ll use all the
time. In chapters 11 through 14, for instance, you’ll learn how to work with
arrays, collections, dates, strings, and exceptions. Along the way, you’ll
learn how to use features such as enhanced for loops, typed collections,
generics, and the StringBuilder class. You’ll also learn how to use JDK 1.7
features such as the try-with-resources statement.
• In section 4, you’ll learn how to use a built-in tool provided by NetBeans to
develop graphical user interfaces (GUIs). We highly recommend this
approach for getting started with GUI programming. First, you’ll learn how
to use Swing components to develop real-world GUI applications that handle
events, validate data, and populate objects. Then, you’ll learn how to develop
applets, a special type of Java application that can be downloaded from the
Internet and run within a web browser.
• Because storing data is critical to most applications, section 5 shows you
how to store data in a file or database. In chapter 18, you’ll learn how to
work with text files and binary files, including random-access files. In
chapter 19, you’ll learn how to use an API known as StAX (the Streaming
API for XML) that was introduced with JDK 1.6 to work with XML
documents and files. In chapter 20, you’ll learn how to work with the open-
source Apache Derby database. And in chapter 21, you’ll learn how to use
JDBC to work with any database.
• In section 6, you’ll learn some advanced Java skills. In chapter 22, you’ll
learn how to use threads so your applications can perform two or more tasks
at the same time. Finally, in chapter 23, you’ll learn how to deploy your
finished applications using executable JAR files or Java Web Start.
XVÎii Introduction

Why you’ll learn faster and better with this book


Like all our books, this one has features that you won’t find in competing
books. That’s why we believe that you’ll learn faster and better with our book
than with any other. Here are just three of those features.
• To help you develop applications at a professional level, this book presents
complete, non-trivial applications. For example, chapter 16 presents a
Product Maintenance application that uses presentation classes, business
classes, and data access classes. You won’t find complete, real-world
applications like this in other Java books even though studying these types of
applications is the best way to master Java development.
• All of the information in this book is presented in our unique paired-pages
format, with the essential syntax, guidelines, and examples on the right page
and the perspective and extra explanation on the left page. This helps you
learn more while reading less, and it helps you quickly find the information
that you need when you use this book for reference.
• The exercises at the end of each chapter give you a chance to try out what
you’ve just learned. They guide you through the development of some of the
book’s applications, and they challenge you to apply what you’ve learned in
new ways. As a result, you’ll gain valuable, hands-on experience in Java
programming that will build both your skills and your confidence.

How our downloadable files make learning easier


To make learning easier, you can download the source code for all the
applications presented in this book from our web site (www.murach.com). This
source code includes the files and databases required by these applications.
Then, you can view the complete code for these applications as you read each
chapter; you can run these applications to see how they work; and you can copy
portions of code for use in your own applications.
You can also download the source code that you need for doing the
exercises in this book. That way, you don’t have to start every exercise from
scratch. This takes the busywork out of doing these exercises so you can get
more practice in less time. For more information about these downloads, please
see appendix A (Windows) and appendix B (Mac OS X).
Introduction

Support materials for trainers and instructors


If you’re a corporate trainer or a college instructor who would like to use
this book for a course, we offer an Instructor’s CD that includes: (1) a complete
set of PowerPoint slides that you can use to review and reinforce the content of
the book; (2) instructional objectives that describe the skills a student should
have upon completion of each chapter; (3) the solutions to the exercises in this
book; (4) projects that the students start from scratch; (5) solutions to those
projects; and (6) test banks that measure mastery of those skills.
To learn more about this Instructor’s CD and to find out how to get it, please
go to our web site at www.murach.com and click the Trainers link or Instructors
link. Or, if you prefer, you can call Kelly at 1-800-221-5528 or send an email to
kellv @murach.com.

A companion book for web developers


Since web programming is one of the primary uses of Java, we also offer a
book on web programming called Murach’s Java Servlets and JSP. It shows you
how to use Java servlets and JavaServer Pages as you develop professional web
applications. As you read that book, you’ll discover that Java web programming
requires most of the skills that are presented in sections 1-3 of this book. That’s
why we see this book as the perfect companion for Murach ’s Java Servlets and
JSP.

Please let us know how this book works for you


When we started the first edition of this book, our goals were (1) to teach
you Java as quickly and easily as possible and (2) to teach you the practical Java
concepts and skills that you need for developing real-world business
applications. We’ve tried to improve on that with each subsequent edition, and
as this fourth edition goes to press, we hope that the book is more effective than
ever before. Many of the improvements have come from the feedback we’ve
received from our readers, so if you have any comments about this book, we
would appreciate hearing from you at murachbooks @murach.com.
Thanks for buying this book. We hope you enjoy reading it, and we wish
you great success with your Java programming.

Joel Murach Anne Boehm


Author Editor
Section 1

Essential Java skills


This section gets you started quickly with Java programming. First,
chapter 1 introduces you to Java applications and shows you how to use
NetBeans to work with Java projects. Then, chapter 2 introduces you to the
basic skills that you need for developing Java applications. When you
complete these chapters, you’ll be able to write, test, and debug simple
applications of your own.
After that, chapter 3 presents the details for working with numeric
data. Chapter 4 presents the details for coding control statements. Chapter
5 shows how to validate the data that’s entered by the user. And chapter 6
shows how to thoroughly test and debug an application. These are the
essential skills that you’ll use in almost every Java application that you
develop. When you finish these chapters, you’ll be able to write solid
programs of your own. And you’ll have the background that you need for
learning how to develop object-oriented programs.
1

How to get started


with Java and NetBeans
Before you can begin learning the Java language, you need to install Java. In
addition, you need to choose an IDE or a text editor for working with Java. For
this book, we recommend that you use the NetBeans IDE. Appendix A of this
book shows you how to install both Java and NetBeans on a Windows system,
and appendix B shows you how to install them on a Macintosh OS X system.
Then, this chapter shows how to use the NetBeans IDE to create and work with
a Java application. But first, this chapter presents some background information
about Java.

Introduction to Java ................................................................ 4


Toolkits and platforms...................................................................................... 4
How Java compares to C++ and C # .................................................................4
Applications, applets, and servlets................................................................... 6
The code for the console version of the Future Value application...................8
How Java compiles and interprets code.......................................................... 10
Introduction to Java ID Es................................................................................12
How to use NetBeans to work with existing projects...... 14
Introduction to Java projects and the NetBeans IDE......................................14
How to open, close, and delete a project........................................................ 16
How to compile and run a project.................................................................. 16
How to use the Output window with a console application...........................18
How to work with two or more projects.........................................................20
How to use NetBeans to develop new projects.................. 22
How to create a new project........................................................................... 22
How to set the Java version for a project........................................................24
How to work with Java source code and file s................................................26
How to use the code completion feature........................................................28
How to detect and correct syntax errors.........................................................30
Perspective............................................................................. 32
Section 1 Essential Java skills

Introduction to Java
In 1996, Sun Microsystems released a new programming language called
Java. Although Oracle bought Sun in 2010, Java remains one of the most widely
used object-oriented programming languages.

Toolkits and platforms


Figure 1-1 describes all major releases of Java starting with version 1.0 and
ending with version 1.7. Throughout Java’s history, the terms Java Development
Kit (JDK) and Software Development Kit (SDK) have been used to describe the
Java toolkit. In this book, we’ll use the term JDK since it’s the most current and
commonly used term. In addition, different numbering schemes have been used
to indicate the version of Java. For example, Java 5.0 and Java 6 refer to ver­
sions 1.5 and 1.6 of Java. In this book, we’ll use the 1.x style of numbering
since this numbering is used by the documentation for Java.
With versions 1.2 through 1.5 of the JDK, the Standard Edition (SE) of Java
was known as Java 2 Platform, Standard Edition (J2SE), and the Enterprise
Edition (EE) was known as the Java 2 Platform, Enterprise Edition (J2EE).
Since version 1.6 of the JDK, the Standard Edition of Java has been known as
Java SE, and the Enterprise Edition is known as Java EE. This book shows how
to use Java SE 7, but it should also work for earlier and future versions of Java.
That includes Java SE 8, which is scheduled for release in late 2012.

How Java compares to C++ and C#


When Sun’s developers created Java, they tried to keep the syntax for Java
similar to the syntax for C++ so it would be easy for C++ programmers to learn
Java. In addition, they designed Java so its applications can be run on any
computer platform. In contrast, C++ needs to have a specific compiler for each
platform. Java was also designed to automatically handle many operations
involving the creation and destruction of memory. This is a key reason why it’s
easier to develop programs and write bug-free code with Java than with C++.
To provide these features, the developers of Java had to sacrifice some
speed (or performance) when compared to C++. For many types of applications,
however, Java’s relative slowness is not an issue.
Microsoft’s Visual C# language is similar to Java in many ways. Like Java,
C# uses a syntax that’s similar to C++ and that automatically handles memory
operations. However, in practice, C# code only runs on Windows. Because of
that, C# is a good choice for developing applications for a Windows-only
environment. However, Java is a better choice if you need to develop cross­
platform applications.
Random documents with unrelated
content Scribd suggests to you:
heranziehen, die weit das Gebiet der Empfindungen überschreiten.
Wir sind imstande, mit ziemlich großer Genauigkeit auch bei
verschlossenen Augen die L a g e zu beurteilen, d i e u n s e r
G e s a m t k ö r p e r i m R a u m e e i n n i m m t . Dieses Urteil gründet sich
nicht auf die Druckempfindungen allein, die der Körper je nach der
Richtung der Schwerkraft erleidet. Denn einmal kann man die
Druckempfindungen möglichst ausschalten, und zum andern zeigt
sich, daß bei gewissen Erkrankungen trotz der vorhandenen
Druckempfindungen völlige Nichtorientierung herrscht. Zweitens
wissen wir auch bei geschlossenen Augen Bescheid über
B e w e g u n g e n , die d e r K ö r p e r a l s G a n z e s ohne Bewegung seiner
Glieder macht, mag sie nun eine geradlinige oder eine
Drehbewegung sein. Allerdings muß die bedeutsame Einschränkung
hinzugefügt werden, daß wir immer nur die B e s c h l e u n i g u n g der
Geschwindigkeit und mit dieser auch die R i c h t u n g der Bewegung
wahrnehmen, während wir bei gleichmäßiger Bewegung ohne
derartige Wahrnehmungen bleiben und bei Verlangsamung leicht der
Täuschung einer scheinbar entgegengesetzten Bewegung verfallen.
Wendet man aber bei gleichförmiger Bewegung den Kopf oder den
ganzen Körper, so erkennt man augenblicklich die tatsächlich
vorhandene Bewegungsrichtung wieder. All diese Wahrnehmungen
von der Lage des Körpers können nun gewiß nicht der Inhalt
irgendwelcher Empfindung sein, sondern schließen, wie später
darzutun ist, sogar Denkprozesse ein; allein es muß sich mit der
Lage oder der Beschleunigung des Körpers w e n i g s t e n s e i n
e i n d e u t i g e r E m p f i n d u n g s k o m p l e x verbinden, auf den sich unser
Urteil stützt. Es stellt sich nämlich heraus, daß auch die Tiere
sinnliche Anhaltspunkte für die Körperlage besitzen, und anderseits
geht der Verlust des Lagebewußtseins parallel mit dem Verlust
gewisser nervöser Organe.
Dieser n e r v ö s e A p p a r a t befindet sich neben der Gehörschnecke.
Er besteht aus drei halbkreisförmigen Kanälen, den Bogengängen,
die in drei Ebenen nahezu senkrecht aufeinanderstehen. Diese
Kanälchen sind mit Flüssigkeit gefüllt und erweitern sich an ihren
Enden zu den sog. Ampullen, von deren Innenwand feine Härchen in
die Flüssigkeit der Bogengänge hineinragen. Unmittelbar neben den
Bogengängen liegen die beiden Säckchen, das elliptische und das
runde, die gleichfalls mit Endolymphe gefüllt sind und in denen feine
Kalkplättchen, die sog. Otolithen, auf zarten Härchen ruhen. In diese
drei miteinander nicht kommunizierende Räume, in die Bogengänge
und die beiden Säckchen, mündet der nervus vestibularis. Schneidet
man nun diese Organe bei Tieren heraus, so werden diese gegen
ihre Körperlage gleichgültig: die Katze, die zuvor
Schaukelbewegungen nicht vertragen konnte, schläft jetzt ruhig in
der Schaukel ein. Beseitigt man nur einzelne Bogengänge oder reizt
man sie künstlich, so erscheinen Störungen in der Lageauffassung
der betreffenden Ebene. In einem sehr hübschen Tierexperiment
wies K r e i d l die Bedeutung der Otolithen nach: Krebse verlieren
manchmal ihre Otolithen und erhalten neue aus dem Material ihrer
Umgebung. Kreidl richtete es nun so ein, daß Eisenteilchen an Stelle
der Otolithen traten. Brachte er dann einen Magneten von einer
Seite her in die Nähe des Tieres, so warf es sich auf die andere
Seite, offenbar weil es den Eindruck hatte, in die Richtung des
Magneten zu fallen. Wurden die Eisenteilchen jedoch nur außen an
den Kopf des Tieres geklebt, so blieb es gleichgültig gegen die
Einwirkung des Magneten oder wurde passiv angezogen. Endlich
entbehren Taubstumme ohne Labyrinth des Drehschwindels, der sich
bei Normalen nach mehreren Drehbewegungen einstellt, wie sie
anderseits im Wasser untergetaucht, ihre Körperlage nicht beurteilen
können. All diesen Tatsachen sucht man in folgender Auffassung
gerecht zu werden.
Beginnt der Kopf eine Bewegung in einer der drei Ebenen der
Bogengänge, so bleibt für den Anfang das Labyrinthwasser ein
wenig zurück und übt so einen Druck bzw. Zug auf die Härchen in
den Ampullen aus. Wird die Bewegung gleichförmig, so muß nach
physikalischen Gesetzen dieser Zug aufhören, um wieder
einzusetzen, sobald die Bewegung merklich langsamer wird oder
plötzlich aufhört. Nimmt man nun an, daß die Verbiegung der
Sinneshaare in jeder Ebene eine charakteristische Empfindung oder
einen eigenartigen Empfindungskomplex bedingen — die Drehung
des Kopfes können sie unmittelbar nicht melden —, so erklären sich
leicht die oben aufgezählten Wahrnehmungen der
Körperbewegungen. Eine andere Aufgabe haben die Otolithen. Sie
drücken bei aufrechter Haltung nach unten. Wird der Körper oder
der Kopf für sich schief geneigt, so verbiegen sie die Haare, und
diese Verbiegung bleibt, im Gegensatz zu der Biegung der Haare in
den Ampullen, solange die schiefe Haltung eingenommen wird. Die
Otolithen dürften also die dauernden Lageempfindungen vermitteln.
Es scheint nun ziemlich sicher zu sein, daß die Reizungen des Vestibularnerven
mancherlei Reflexbewegungen auslösen, durch die sich die Sinneswesen gegen
Lagestörungen schützen können. Aber es ist noch umstritten, ob sie auch
Empfindungen hervorrufen. Die meisten Forscher entscheiden sich für letzteres
und weisen auf die eigentümlichen Inhalte hin, die man hat, wenn man sich nach
längerer Drehung plötzlich ganz ruhig hält und auf die Eindrücke im Kopfe achtet.
Gibt man nun das Vorhandensein charakteristischer Eindrücke zu, so fragt es sich
weiter, ob diese von den Tastempfindungen verschieden sind oder nur eine
besondere Qualität bzw. Verbindung von Tastempfindungen darstellen. Letzteres
hält W u n d t für wahrscheinlich, während N a g e l und andere in ihnen eine neue
Empfindungsart erblicken. Wie immer auch diese Frage zu beantworten ist, so ist
doch festzuhalten, daß die statischen Empfindungen aus sich weder einen
räumlichen Charakter besitzen, noch viel weniger unmittelbar eine Lage, eine
Drehung u. ä. zu melden vermögen, da die Inhalte „Lage“ und „Bewegung“
Relationen einschließen, die nur das Denken erfassen kann.

Literatur
A. K r e i d l , Die Funktion des Vestibularorgans, Ergebnisse der Physiologie V (1906),
572.

H. D i e k i n ä s t h e t i s c h e n E m p f i n d u n g e n

Die Bezeichnung „kinästhetische Empfindungen“ ist ein


Sammelname für jene Sinnesangaben, die uns von der L a g e und der
B e w e g u n g d e r verschiedenen K ö r p e r t e i l e z u e i n a n d e r Kunde
geben. Im engeren Sinne schließt er die Gesichtsempfindungen aus
und läßt es dahingestellt, ob neben den schon bekannten
Hautempfindungen eine neue Art von Sinneseindrücken besonderen
Anspruch auf diesen Namen erheben kann. Die Aufstellung einer
neuen Empfindungsklasse begegnet hier noch größeren
Schwierigkeiten als bei den statischen Empfindungen. Denn hier ist
es weder möglich auf bestimmte Bewußtseinserscheinungen noch
auf ein bestimmtes Organ hinzuweisen. Wir müssen darum von
gewissen Leistungen der Seele ausgehen und prüfen, ob sich diese
mit dem bisher gefundenen Empfindungsmaterial verständlich
machen lassen.
Wir Erwachsene sind imstande, die L a g e d e r verschiedenen
K ö r p e r g l i e d e r zueinander auch ohne die Hilfe des Gesichtssinnes
ziemlich genau zu beurteilen. Daß dies nichts Selbstverständliches
ist, offenbaren uns Krankheitsfälle, wo der Patient bei geschlossenen
Augen zwar seinen Arm bewegen, aber nichts über dessen Haltung
aussagen kann und ihn in den unbequemsten Lagen beläßt, die ein
anderer ihm gibt. Wir wissen sodann von den a k t i v e n und p a s s i v e n
B e w e g u n g e n unserer Glieder, und zwar ist dieses Wissen ein recht
genaues. Der an Ataxie Leidende hingegen scheint gerade die
feinere Kenntnis seiner Gliedbewegungen zu entbehren; denn alle
seine Bewegungen sind unvollkommen und schleudernd. Weiter
verspüren wir den W i d e r s t a n d elastischer und fester Gegenstände,
ein Erlebnis, das nicht allein durch die Druckempfindungen der Haut
zu erklären ist, da es auch bei Unempfindlichmachung der Haut
bestehen bleibt. Daß der Hautsinn hier nicht in Frage kommt, zeigt
auch die von Goldscheider beschriebene paradoxe
W i d e r s t a n d s e m p f i n d u n g . „Hält man an einem Faden ein nicht zu
leichtes Gewicht und macht damit eine schnelle Abwärtsbewegung,
so hat man im Augenblick des Auftreffens des Gewichtes auf den
Boden die Empfindung eines Widerstandes ... Es ist, als ob man mit
einem Stock aufstieße. Setzt man die Abwärtsbewegung weiter fort,
so hat man die Empfindung, als ob man eine Federkraft zu
überwinden habe.“ (F r ö b e s I, 155.) Endlich schätzen wir die
Gewichte der von uns gehobenen Körper und die von uns zum
Ziehen oder Drücken verwendete Kraft, weshalb man von S c h w e r e - ,
S p a n n u n g s - u n d K r a f t e m p f i n d u n g e n redet. Es fragt sich nun,
welchen Sinnesdaten sind alle diese Leistungen zu verdanken?
Zweifellos tragen die H a u t e m p f i n d u n g e n einen Teil zu den genannten
Kenntnissen bei. Dennoch kann man sie nicht an erster Stelle dafür verantwortlich
machen, wie es die ältesten Erklärungen wollten, da bei künstlicher oder
krankhafter Ausschaltung der Hautsinne die kinästhetischen Wahrnehmungen
nicht wesentlich beeinträchtigt werden. — Spätere Forscher, wie B e l l und E. H.
W e b e r , sahen in den s e n s o r i s c h e n M u s k e l n e r v e n die Quelle des hier zu
erklärenden Wissens: Entsprechend der verschieden starken Muskelspannung
treten verschiedene Spannungsempfindungen auf und liefern so einen
Anhaltspunkt zur Beurteilung der Gliedlage. Dagegen sprachen indes Fälle von
Muskeldegeneration, in denen gleichwohl die Lage der Glieder und der Unterschied
von Gewichten angegeben werden konnte. Zudem hängt ja auch die Lage eines
Gliedes nicht eindeutig von der Kontraktion des Muskels ab: bei einer passiven
Bewegung werden die Muskeln überhaupt nicht kontrahiert, und dieselbe Lage
eines Gliedes kann bei großer wie bei geringer Muskelspannung eingehalten
werden. — Ein dritter Erklärungsversuch führte die I n n e r v a t i o n s e m p f i n d u n g e n
ein: es soll uns der motorische Impuls bewußt werden, den wir den Muskeln
erteilen. Wird sich ja auch ein Kranker, der sein gelähmtes Bein bewegen will,
einer Kraftanstrengung bewußt, obwohl in dem Muskel selbst keinerlei Kontraktion
erfolgt. Allein die verspürte Kraftanstrengung kann auf andere, gleichzeitig
miterregte Muskeln zurückzuführen sein und verliert somit jede Beweiskraft.
Dagegen werden die Innervationsempfindungen unwahrscheinlich, da Kranke
vielfach ihre Glieder richtig gebrauchen, sie also richtig innervieren, ohne darum
über die Lage und Bewegung ein Wissen zu erlangen. Daß wir von dem Impuls,
den wir unseren Bewegungen erteilen, nichts wissen, veranschaulicht eine
bekannte Gewichtstäuschung: Hebt man zwei gleich schwere, aber verschieden
große Gewichte, indem man auf sie hinblickt, so kann man sich von dem Eindruck
nicht freimachen, das kleinste Gewicht sei das schwerste. Wir heben nämlich
unwillkürlich das größere Gewicht mit einem größeren Krafteinsatz. Käme uns nun
der erteilte Impuls zu Bewußtsein, so könnten wir ihn bei der
Gewichtsvergleichung beachten und uns so über die Täuschung hinweghelfen.
Nach Erledigung der Innervationsempfindungen erlangte die
Goldscheidersche T h e o r i e nahezu allgemeine Anerkennung: Die Gelenke
sollen sehr dicht mit den Vater-Paccinischen Tastkörperchen besetzt sein. Drehen
sich nun bei einer Bewegung zwei Gelenkflächen gegeneinander, so werden die
Tastkörperchen stets an einer anderen Stelle gedrückt. Jeder Stellung des Gliedes
entspricht darum eine eigenartige Reizung der Vater-Paccinischen Körperchen.
Somit kann sich diese qualitativ eigenartige Empfindung eindeutig mit dem
optischen Bild von der Bewegung des Gliedes verbinden und so allmählich zu einer
ausreichenden Kunde von der gegenseitigen Stellung der Glieder werden. So
erklärt sich auch leicht die Widerstandsempfindung als ein Gelenkdruck. Zur
Deutung der paradoxen Widerstandsempfindung aber ist noch zu beachten, daß
der Zug des Gewichtes eine gleichgroße entgegengerichtete Muskelspannung
bedingt. Berührt nun das herabgelassene Gewicht den Boden, so hört der Zug auf,
während jene Muskelspannung noch andauert, dadurch die Gelenke aneinander
preßt und so denselben Eindruck wie ein äußerer Widerstand hervorruft.
Auch diese Theorie, deren positive Beweise man schon bald angegriffen hat,
wurde neuerdings stark erschüttert, als es gelang, die freigelegten Gelenkflächen
Operierter verschiedenen Reizen auszusetzen. Dabei ergab sich, daß von den
Gelenkf l ä c h e n aus überhaupt keine Empfindungen zu wecken waren. Wenn
darum die Gelenk-Organe überhaupt Träger von Bewegungsempfindungen sind, so
müssen diese in den die Gelenke umspannenden Gelenkk a p s e l n ausgelöst
werden, die allerdings reichlich mit Nerven versehen sind. Die eindeutige
Zuordnung bestimmter Empfindungskomplexe dieser Art zu bestimmten Lagen der
Glieder wäre vielleicht auch hier möglich. Indes die bestechende Einfachheit der
alten Goldscheiderschen Auffassung ist dahin.

So ist also heute die Frage der kinästhetischen Empfindungen


noch ungeklärt. Die neuesten Untersuchungen S t ö r r i n g s lassen den
Beitrag des Drucksinnes der Haut für feinere Bestimmungen wieder
bedeutsamer erscheinen, während die Forschungen v. F r e y s den
K r a f t s i n n aufs neue zu Ehren bringen. Daß wir wirklich Muskel- oder
Sehnenempfindungen haben, die von dem aufgewandten Kraftmaß
Kunde geben, beweist ein schlichter Versuch: Hat der steifgehaltene
Arm ein aufgesetztes Gewicht zu heben, so erscheint es schwerer,
wenn es weiter von dem Drehgelenk entfernt aufgelegt wird, als
wenn näher. Hier sind die Gelenkempfindungen die nämlichen, weil
der Arm sich in beiden Fällen um gleichviel Grade hebt; die
Druckempfindungen, die das aufgesetzte Gewicht auf der Haut
hervorruft, können ausgeschaltet werden, und die inneren
Spannungsempfindungen, d. h. jene Empfindungen, die der Druck
des kontrahierten Muskels von innen auf die Haut auslöst, sind auch
jedesmal die gleichen. Verschieden ist nur die aufgewandte Kraft.
Vorerst lassen sich somit die kinästhetischen Empfindungen noch
nicht ausschließlich oder vorwiegend e i n e m Organ zuschreiben. Alle
genannten Organe, die Haut, die Gelenke und die Muskeln, sind in
gewissem Grade befähigt, Lage- und Bewegungsempfindungen zu
vermitteln.
Über die Qualität dieser Empfindungen, ob sie untereinander
gleich und ob unter ihnen ganz neuartige Phänomene sind, läßt sich
heute noch nichts ausmachen. Aber auch hier ist zu betonen, daß
der Inhalt dieser Empfindungen in sich nichts von einer
Lagebestimmung enthalten kann.

Literatur
E b b i n g h a u s - B ü h l e r , Grundzüge der Psychologie I⁴ § 32. Die Kraft- und
Bewegungsempfindungen.

[2] Anders H. Henning, Der Geruch 1916 S. 491 ff., der ein
Geschmackstetraeder aufstellt.
4. Kap. Das Gesetz der spezifischen
Sinnesenergie

Läßt man einen Wärmereiz auf einen Kältepunkt einwirken, so


entsteht, wie wir sahen, eine paradoxe Kälteempfindung. Drückt
man die hinter dem Trommelfell herziehende Chorda tympani, die
unter anderem Fasern des Geschmacksnerven enthält, so erlebt man
eine Geschmacksempfindung. Das gleiche geschieht, wenn man
diesen Nerv elektrisch oder chemisch reizt. Der Sehnerv antwortet
bei elektrischer, chemischer und mechanischer Reizung mit einer
Lichtempfindung. Solche und ähnliche Beobachtungen führten zur
Aufstellung des Satzes von den spezifischen Sinnesenergien durch
Joh. M ü l l e r (1826): D e r g l e i c h e R e i z r u f t i n v e r s c h i e d e n e n
S i n n e n v e r s c h i e d e n e E m p f i n d u n g e n h e r v o r, j e n a c h d e r N a t u r
d e s S i n n e s ; verschiedene Reize rufen in dem gleichen Sinne die
gleiche Empfindung hervor. Was besagt dieser Satz? Er besagt, daß
der Empfindungsinhalt, das Quale der Empfindung, aus dem
empfindenden Subjekt stammt. Es wird nicht eine Eigenschaft eines
äußeren Gegenstandes gleichsam durch die Sinne nur
hindurchgeleitet zur wahrnehmenden Seele, sondern die Seele
antwortet in verschiedener Weise auf die einwirkenden
Gegenstände, je nach der Sinnespforte, bei der sie anklopfen. Ein
psychologisch und erkenntnistheoretisch höchst bedeutsamer Satz.
Man muß sich indes vor einer unberechtigten
V e r a l l g e m e i n e r u n g dieses Satzes hüten. Er besagt nicht, daß
unsere Seele oder ihre Sinne völlig gleichgültig seien gegen die
einwirkenden Reize, womit einem extremen Subjektivismus Tür und
Tor geöffnet wäre. Es sind nämlich n u r die einem jeden Sinne
entsprechenden, d i e a d ä q u a t e n R e i z e b e g ü n s t i g t . Vor den
inadäquaten Reizen sind die meisten Organe schon durch äußere
Schutzvorrichtungen für gewöhnlich bewahrt (E t t l i n g e r ). Außerdem
vermögen die inadäquaten Reize nur unabgestufte, unklare
Eindrücke hervorzurufen. Bei den adäquaten Reizen hingegen zeigt
sich eine streng gesetzmäßige Zuordnung von Reiz und Empfindung.
Einen Beweis dafür boten die Qualitäten des Farbensinnes, die ganz
eindeutig an bestimmte Wellenlängen gebunden sind. Andere Belege
dafür wird uns die Psychophysik liefern.
Weitere Probleme, die der Müllersche Satz aufwirft, sind von einer endgültigen
Antwort noch mehr oder weniger entfernt. So vor allem die Frage, was man sich
unter der spezifischen Energie eines Sinnesnerven zu denken habe. Man wird da
nicht an eine geheimnisvolle Kraft denken dürfen, die in dem Nerven wohnt,
sondern eher an einen eigenartigen physiologischen Zustand, der bewirkt, daß der
Nerv, wenn er überhaupt erregt wird, immer nur in eine bestimmte Art der
Erregung versetzt werden kann; wie etwa eine Klaviersaite oder ein
Resonanzboden, wenn sie durch irgendwelchen Druck oder Stoß überhaupt in eine
selbständige Bewegung geraten, immer nur eine bestimmte Form der
Erschütterung aufweisen. — Allerdings steht es nicht fest, ob es der periphere
Nerv ist, der, wie wir soeben voraussetzten, in eine spezifische Erregung gerät,
oder ob diese nur im Gehirn ausgelöst wird, während der Nerv als indifferenter
Leiter jeden Reiz zu übermitteln imstande ist. Für die letztere Ansicht werden die
Halluzinationen, subjektive Erregungen, die sicher im Gehirn entstehen, geltend
gemacht. Aber mit dem Bestand solcher zentraler Erregungen ist noch nichts für
die Beschaffenheit der peripheren Nerven entschieden. Für die spezifisch
verschiedene Erregbarkeit der Leitungsnerven hingegen bildet ihre mit Sicherheit
festzustellende verschiedene Organisation ein beachtenswertes Argument. —
Endlich läßt sich die Frage, ob die spezifische Energie den Sinnen angeboren oder
erst im Laufe des Lebens erworben sei, nicht lösen. Die Erwerbung der
spezifischen Sinnesenergie im Verlauf des Lebens hat die Beobachtung für sich,
daß bei Blinden oder Tauben, denen von Geburt an diese Empfindungen abgehen,
eine inadäquate Reizung der Nervenstränge keine Licht- oder Schallempfindung
bewirken. Es scheint somit, als müsse der adäquate Reiz, der durch das äußere
Organ leicht in den Sinnesnerven eintritt, diesen erst in seiner Weise bearbeiten
und disponieren, so daß er später auch auf inadäquate Reize nicht mehr anders
als in dieser vorgebildeten Art ansprechen kann. Wäre dies der Fall, dann käme
den äußeren Reizen eine noch größere Bedeutung zu, als wir ihnen soeben
einräumten. Die Reize schüfen sich geradezu die Reaktion. Sodann wäre die von
manchen Entwicklungstheoretikern vertretene Hypothese glaubhafter, daß sich
nämlich die Vielheit der Sinne aus einem einzigen primitiven Sinne durch
beständiges Einwirken der verschiedenen äußeren Reize herausdifferenziert habe.
Allein die genannte Beobachtung an Blind- und Taubgeborenen ist kein
durchschlagender Beweis, da ein Gehirnzentrum degenerieren kann, wenn es nicht
geübt wird.

Literatur
R. W e i n m a n n , Die Lehre von den spezifischen Sinnesenergien, 1895.
N. B r ü h l , Die spezifischen Sinnesenergien nach Joh. Müller im Lichte der
Tatsachen, 1915.
5. Kap. Die Psychophysik

Zündet man in einem nur von e i n e r elektrischen Lampe dürftig


erhellten Saal eine zweite gleichstarke Lampe an, so ist die
Beleuchtungssteigerung ganz auffällig. Wird jedoch zu hundert
Lampen eine weitere hinzugefügt, so wird niemand die größere
Helligkeit zu bemerken imstande sein. Diese auf allen
Empfindungsgebieten zu beobachtende Tatsache erlangte eine für
die Entwicklung der gesamten Psychologie grundlegende Bedeutung,
als der Physiologe E. H. W e b e r (1846) bei Untersuchung des
Hautsinnes fand, daß sie einer bestimmten Gesetzmäßigkeit folgt:
Muß man zu einem Druck von der Stärke 100 einen solchen von der
Stärke 1 hinzufügen, damit der Unterschied im Druck überhaupt
gemerkt wird, so muß bei einem solchen von der Stärke 200 ein
Druck von der Stärke 2 hinzukommen, soll nunmehr die Verstärkung
des Druckes eben bemerkbar sein. Oder: das Verhältnis von
Reizzuwachs, bei dem eben eine Empfindungszunahme eintritt, zum
Anfangsreiz ist konstant (¹⁄₁₀₀ = ²⁄₂₀₀). Diese Entdeckung legte für
G. Th. F e c h n e r den Gedanken nahe, von hier aus ein brauchbares
Maß der Empfindung zu gewinnen. Und es war ein Lieblingstraum
von ihm, von diesen vielversprechenden Anfängen aus das ganze
psychische Leben mit der mathematischen Formel zu beherrschen.
Es sollte in Zukunft nicht mehr von Psychologie, sondern von
P s y c h o p h y s i k die Rede sein. Dieser Wunsch hat sich nun freilich
nicht erfüllt. Dagegen wurde er die gesegnete Quelle der meisten
psychologischen Forschungsmethoden und die Anregung, auch auf
andere Gebiete die quantitativen Arbeitsweisen zu übertragen. Diese
Methoden verstehen wir jedoch im Folgenden nicht unter
Psychophysik.

1. Aufgaben und Methoden der Psychophysik


Die unmittelbare Aufgabe der Psychophysik besteht in der
Ermittlung bestimmter Reizgrößen. Nicht jeder physikalische Reiz löst
schon eine Empfindung aus. Erst wenn ein Licht, eine
Schallschwingung, ein Gewicht eine gewisse Größe erreicht,
empfinden wir etwas. Man nennt diese von dem Reiz zu erreichende
Größe die absolute S c h w e l l e der betreffenden Empfindung. Sie ist
bei den verschiedenen Sinnen verschieden und innerhalb desselben
Sinnes je nach dem Ort der Reizung bzw. nach den erregten
Nervenfasern verschieden. Die absolute Schwelle kann als Maß der
Empfindlichkeit dienen. Denn je niedriger für einen Sinn bzw. für ein
bestimmtes Nervengebiet die Reizschwelle ist, um so größer ist seine
Empfindlichkeit.
Eine zweite Aufgabe liegt in der Ermittlung der
U n t e r s c h i e d s s c h w e l l e . Wie groß muß der zu einem schon
wahrgenommenen Reiz hinzutretende Reizzuwachs sein, damit ein
Unterschied in der Empfindung erkennbar werde? Es wäre da zu
untersuchen, ob jeder Unterschied der Reize bemerkt wird, ob stets
der gleiche Reizzuwachs einen Empfindungsunterschied herbeiführt,
wie sich die einzelnen Sinne in dieser Hinsicht verhalten usw.
Drittens sind die ä q u i v a l e n t e n R e i z e zu bestimmen. Die zu
beantwortende Frage lautet hier: Welche Reize lösen die gleiche
Empfindung aus? Erscheint z. B. der Abstand zweier Zirkelspitzen
gleich groß, wenn der Tastzirkel an verschiedenen Stellen aufgesetzt
wird? Weiter sind die ä q u i v a l e n t e n R e i z u n t e r s c h i e d e zu finden:
gegeben sind zwei Paare veränderlicher Reize und man soll
erkunden, unter welchen Bedingungen die von je zwei Reizen
gebildeten Empfindungsunterschiede einander gleich erscheinen.
Endlich die Ermittlung gleichwertig erscheinender R e i z v e r h ä l t n i s s e :
zu drei gegebenen Reizen A, B, a muß der vierte b gefunden
werden, so daß A : B = a : b (B ü h l e r ).
Die M e t h o d e n zur Lösung der vier Hauptaufgaben teilt man nach
E b b i n g h a u s ein in die Methoden der R e i z f i n d u n g und der
U r t e i l s f i n d u n g , d. h. entweder ist die Empfindungsgröße schon
bestimmt und es bleibt der Reiz zu suchen, der sie herbeiführt, z. B.
gesucht ist der Reiz, der eine ebenmerkliche, übermerkliche, einer
andern gleiche Empfindung bewirkt — oder die Reize sind gegeben
und das Urteil über sie wird erfragt, z. B. gegeben sind drei Gewichte
a, b, c, und es ist zu beurteilen, ob der Schwereunterschied bei den
Reizen a−b dem bei den Reizen b−c gleich sei oder nicht. Die
allgemeine Methode der Reizfindung teilt sich in die zwei
besonderen: d i e Methode der Herstellung und die
G r e n z m e t h o d e . Bei der ersteren hat der Beobachter den
gewünschten Reiz selbst herzustellen. Er verschiebt z. B. auf einer
Geraden eine Trennungsmarke, bis sie im Mittelpunkte zu stehen
scheint. Bei der Grenzmethode hingegen bietet der Versuchsleiter
(Vl) den zu vergleichenden bzw. zu beurteilenden Reiz dar, indem er
sich allmählich jener Grenze nähert, bei welcher das festgesetzte
Urteil abgegeben wird. Es wird also z. B. gefragt, bei welcher
Spitzendistanz des Tastzirkels z w e i Punkte wahrgenommen werden.
(Vgl. S. 96.) Der Vl berührt dann die Haut der Vp bei so engem
Abstand der Spitzen, daß gewiß nur ein einziger Punkt
wahrgenommen werden kann. Allmählich vergrößert er dann den
Abstand, bis die Vp den Eindruck von zwei Berührungen hat. Den so
gefundenen Abstand bezeichnet man als die untere Raumschwelle.
Darauf wird der Tastzirkel von neuem aufgesetzt, und zwar diesmal
mit einer Entfernung der Spitzen, die beträchtlich größer ist als die
untere Raumschwelle, so daß die Vp notwendig den
Zweiheitseindruck gewinnt. Nunmehr wird die Zirkelweite in
gleichmäßigen Schritten immer mehr vermindert, bis die Vp wieder
das Urteil abgibt: einfache Berührung. Der Abstand, bei welchem
dies geschieht, gilt dann als obere Raumschwelle, und das
arithmetische Mittel aus unterer und oberer Schwelle wird als die
Raumschwelle schlechthin angesehen. — Die Methode der
Urteilsfindung ist nur in der sog. K o n s t a n z m e t h o d e vertreten. Der
Vl bereitet eine größere Anzahl von Reizen vor und wendet sie in
planvollem Wechsel an. Er legt sich etwa zehn Zirkelabstände
zurecht und setzt in buntem Wechsel bald einen kleinen, bald einen
großen Abstand auf und läßt die Vp jedesmal beurteilen, ob eine
oder zwei Spitzen empfunden wurden. Dabei kommt jeder Abstand
wiederholt vor.
Die Konstanzmethode ist die verlässigste, weil sie die Vp über
den Sachverhalt völlig in Unwissenheit hält. Dagegen ist die
Berechnung der verschiedenen Empfindungsgrößen bei ihr nicht sehr
einfach. Auch verlangt sie eine sehr große Zahl von Einzelversuchen.
Bei gewissen Versuchsanordnungen muß jeder Reiz etwa vierzigmal
verwendet werden, somit sind bei zehn Reizstufen schon 400
Einzelversuche notwendig. Die beiden andern Methoden hingegen
führen mit ungleich weniger Versuchen zum Ziel und erlauben die
Berechnung der Empfindungsgrößen durch einfache Mittelziehung
(arithmetisches Mittel oder Zentralwert). Dafür aber sind beide kein
unwissentliches Verfahren. Die Herstellungsmethode ist
naturnotwendig ganz wissentlich, und bei der Grenzmethode merkt
die Vp sehr bald, ob die angewandten Reize steigen oder fallen. Zur
sicheren Verwendung der psychophysischen Methoden sind nun
noch eine Anzahl von Vorsichtsmaßregeln notwendig. Aus der
räumlichen und zeitlichen Folge der Reize, sowie aus dem Verhalten
der Vp entspringen Fehlerquellen, die unschädlich gemacht werden
müssen. Dafür, so wie für die genauere mathematische Behandlung
der Ergebnisse sei auf die einschlägige Fachliteratur verwiesen.

Literatur
G. Th. F e c h n e r , Elemente der Psychophysik, 2 Bde., 1860.
G. E. M ü l l e r , Die Gesichtspunkte und Tatsachen der psychophysischen Methodik,
1903.

2. Das Webersche und das Fechnersche Gesetz

Nachdem die oben schon angeführte Entdeckung E. H. Webers


von Fechner aufgegriffen wurde, der sie auch mit dem Namen
W e b e r s c h e s G e s e t z versah, wurde ihre Gültigkeit auf allen
Sinnesgebieten geprüft. Abgesehen von sehr starken und sehr
schwachen Reizen, hat man nun das Webersche Gesetz auf allen
Sinnesgebieten mit Ausnahme von Geschmack und Geruch
annähernd bestätigt gefunden. Und zwar gilt es im großen und
ganzen nicht allein für ebenmerkliche, sondern auch für
übermerkliche Empfindungsunterschiede. Diese Gesetzmäßigkeit
kommt uns zu statten, wenn die Beleuchtung der Gegenstände
schwankt. Obwohl in solchen Fällen die Helligkeit der einzelnen Teile
eine ganz andere wird, bleibt der Gegenstand für uns doch gleich
gut erkennbar, da es für uns in erster Linie auf die Verhältnisse der
Helligkeiten ankommt.
Für das Webersche Gesetz wurde eine d r e i f a c h e E r k l ä r u n g
versucht. Eine psychophysische von F e c h n e r : das Gesetz beruht auf
dem Übergang vom Physischen zum Psychischen. Eine
psychologische von W u n d t : die Empfindungen entsprechen immer
genau den Reizen, aber bei der vergleichenden Beurteilung der
Empfindungen tritt die Größenverschiebung ein. Die Fechnersche
Theorie muß als unbegründet fallen. Die Wundtsche erklärt nicht,
warum die Unterschiedsempfindlichkeit auf verschiedenen
Sinnesgebieten verschieden groß ist. Es dürfte also nur die
physiologische Deutung übrig bleiben, nach der die stärker
beanspruchten Nerven einen höheren Reizzuwachs verlangen, um
aufs neue zu reagieren, ähnlich wie eine stärker belastete Wage
auch ein größeres Übergewicht braucht, um auszuschlagen. Für
diese Auffassung sprechen auch mancherlei Analogien aus
Physiologie und Chemie.
Fig. 4. Graphische Darstellung des
Fechnerschen Gesetzes.
Nach Titchner, Lehrbuch d.
Psychologie Fig. 27, S. 219, Leipzig,
J. A. Barth.
Ausgehend von dem Weberschen Gesetz und unter der
Voraussetzung, daß die ebenmerklichen Empfindungszuwüchse, in
denen eine Empfindung vom Nullpunkt bis zu einem beliebigen
Intensitätsgrade ansteigt, einander gleich seien, hat Fechner eine
„M a ß f o r m e l “ abgeleitet, die in ihrer einfachsten Form lautet:
s = log r; in Worten: wenn die Empfindungen arithmetisch
zunehmen, so steigen die zugehörigen Reize in einer logarithmischen
Kurve an. (F e c h n e r s c h e s G e s e t z . ) (Fig. 4.) Mit dieser Formel wäre
die prinzipielle Möglichkeit geboten, die Empfindung zu messen. Man
hat nun sowohl die Gültigkeit der erwähnten Fechnerschen
Voraussetzung wie auch die Größennatur und die Meßbarkeit der
Empfindungsintensität angezweifelt. Allein die Gleichheit der
ebenmerklichen Empfindungszuwüchse ist zum wenigsten eine sehr
naheliegende Annahme, und die Empfindungsintensitäten erscheinen
dem Unvoreingenommenen als wahre Größen, zwar nicht extensiver,
aber doch intensiver Natur. Der Schall des Donners erscheint uns
wirklich stärker als der eines umfallenden Ofenschirmes. Ebenso
können wir mit Sicherheit zwei Druckempfindungen als gleich oder
ungleich beurteilen. Übrigens hat das Fechnersche Gesetz in der
weiteren Entwicklung der Psychologie keine größere Bedeutung
erlangt. Sein Wert liegt in dem energischen Versuch, Maß und Zahl
in die Psychologie einzuführen, ein Ziel, das die Psychologie seither
nicht aus dem Auge verloren hat und auch grundsätzlich festhalten
muß, will sie eine wahrhaft empirische Wissenschaft bleiben.
Außer der Empfindungsintensität hat man keine andere psychische Größe mehr
mit Erfolg zu messen versucht. Die Messung der Willenskraft durch A c h muß als
verfehlt gelten. (S. unten.). Dagegen liefert die Häufigkeit, die Dauer und die Güte
eines seelischen Vorganges bzw. der von ihm vollbrachten Leistung Zahlenwerte,
die sehr großen Aufschluß versprechen. Die Behandlungsweise solcher
Zahlenwerte kann hier nicht dargestellt werden. Nur auf die Korrelationsrechnung
sei noch kurz verwiesen. Auch wo sich geistige Leistungen nicht unmittelbar
messen lassen, bleibt es doch zumeist möglich, sie nach ihrer Güte in Rangstufen
anzuordnen, oder festzustellen, wie oft sich gewisse Merkmale mit anderen
verbinden. Die Mathematik hat nun Formeln erarbeitet, mit denen der Grad der
Beziehung berechnet werden kann, in der zwei Rangordnungen oder mehrere
Merkmale zueinander stehen.

Literatur
R. P a u l i , Über psychische Gesetzmäßigkeit. 1920.
W. B e t z , Über Korrelation. 3. Beiheft zur ZAngPs. (1911).
ZWEITER ABSCHNITT
Empfindungskomplexe
Faßt man die Empfindungen als die elementaren Bausteine des anschaulichen
Erkennens auf, so läßt sich die Frage aufwerfen, wie sich die Verbindung solcher
Elemente gestalten werde: Wird sie eine reine Addition von Empfindungen sein,
oder werden bei dem Zusammensein von Empfindungen neue Gesetzmäßigkeiten
auftreten? Bei der Untersuchung dieser Frage könnte man wie bei der
Empfindungslehre immer streng von dem psychisch Gegebenen ausgehen,
Empfindungskomplexe aufsuchen und sie erforschen. Statt dieses analytischen
Weges, der mancherlei Schwierigkeiten bietet, steht uns aber auch der bequemere
synthetische offen. Wir kennen schon die Beziehungen zwischen Reiz und
Empfindung und dürften auch durch die vorausgegangenen Betrachtungen gegen
den „stimulus-error“ (T i t c h e n e r ), d. h. gegen die Verwechslung von
physikalischem Reiz und psychischem Erlebnis geschützt sein. Man könnte also
systematisch durch gleichzeitige Verwendung mehrerer Reize
Empfindungskomplexe hervorzurufen bedacht sein. Dabei müßten zwei oder mehr
Reize zunächst auf dasselbe Sinnesorgan und dann auf verschiedene Organe
einwirken. In manchen Fällen, wo mehrere adäquate Reize nicht allein dasselbe
Organ, sondern auch dieselben Nervenfasern erregen, wird wie bei dem Auge nur
eine einzige Empfindung entstehen. Diese Fälle gehören nicht hierher und wurden
auch schon bei der Empfindungslehre besprochen; alle anderen Fälle sind jedoch
hier zu berücksichtigen. Allerdings liegt eine systematische Durchforschung des
Gesamtgebietes noch nicht vor. Das wenige über die Verbindung der niederen
Sinnesempfindungen, wie der Gerüche und Geschmäcke, wurde schon oben
gelegentlich gestreift. Beide Empfindungsarten gehen miteinander auf jeden Fall
eine sehr innige Verbindung ein, die der Unkundige nicht leicht zu analysieren
vermag. Immerhin scheint es hier bei einer einfachen Addition der Empfindungen
zu bleiben. Doch stehen genauere Untersuchungen noch aus. Bei den andern
Sinnen hingegen werden durch das gleichzeitige Vorhandensein mehrerer
Sinnesreize seelische Gebilde bedingt, die schon immer die Aufmerksamkeit der
Psychologen erregten und darum eingehender erforscht sind. Von diesen
Empfindungskomplexen sind die aus Tönen bestehenden verhältnismäßig die
einfachsten: fehlt doch bei ihnen das räumliche Moment. Mit ihnen soll darum bei
der Besprechung der Empfindungskomplexe begonnen werden.
1. Kap. Die gleichzeitigen Tonverbindungen

1. Die Tatsache der Tonverschmelzung

Läßt man gleichzeitig zwei oder mehrere Töne erklingen, so


verschmelzen gewisse Töne oder Tongruppen so innig miteinander,
daß ein neues einheitliches Tongebilde aus ihnen entstanden zu sein
scheint, ähnlich wie aus der Vereinigung mehrerer Farbenreize eine
neue Empfindung, die Mischfarbe, entsteht. Diese neue Empfindung
scheint eine eigene Qualität, Intensität, ja sogar eine eigene
Tonhöhe zu haben. Indes sind doch nur musikalisch weniger begabte
Psychologen, wie F e c h n e r , für den Empfindungscharakter solcher
Tonverbindungen eingetreten. Für Musiker und musikalisch
hochbefähigte Forscher, wie H e l m h o l t z und S t u m p f , steht es außer
Frage, daß auch in diesen Verschmelzungen eine Mehrheit von
Empfindungen vorliegt. Anders als bei der einheitlichen Mischfarbe
lassen sich hier die Teilempfindungen herausanalysieren, und zwar
nicht nur infolge der Bekanntschaft mit den Tonverbindungen; denn
ein geübter Musiker vermag auch aus den fremdartigen Klängen
eines ihm unbekannten Instrumentes die Teiltöne herauszuhören.
Allein trotz der inhaltlichen Mehrheit läßt sich eine gewisse
Einheit und Bindung des Tonkomplexes nicht bestreiten, auch dann,
wenn er sich nicht aus den am stärksten verschmelzenden Tönen
zusammensetzt. Solange ein solcher Tonkomplex nicht analysiert
wird, legt man ihm als Ganzem unwillkürlich bestimmte
Eigenschaften bei. Schärferes Zusehen führt jedoch zu mehrfachen
Berichtigungen. Nach den besten Beurteilern kommt der
Tonverbindung keine eigene Intensität zu; auf jeden Fall ist der
Mehrklang nicht stärker als der Teilton, wohl aber voller und reicher.
Die Höhe, die das Tonganze zu haben scheint, richtet sich nach dem
tiefsten Teiltone. Erklingen Grundton und Oktav zusammen und
bleibt dann der Oktavton aus, so hat man nicht den Eindruck, als ob
sich die Höhe des Zweiklanges verändert habe; umgekehrt erlebt
man aber einen überraschenden Aufstieg, wenn der Grundton
wegfällt. Folgen zwei Akkorde aufeinander, so wird der Höhenschritt
der Akkorde nach dem Schritt jener Stimme beurteilt, die am
meisten steigt. Diese Tatsachen, sowie der Umstand, daß man
gewisse Eigenschaften hoher Obertöne, wie das Schrille, Dissonante
u. ä. auf den ganzen Klang überträgt, beweisen, daß wir es hier nicht
mit Eigenschaften zu tun haben, die dem Empfindungskomplex als
solchem zukommen, sondern daß Auffassungs- und
Beurteilungsphänomene vorliegen, deren Verständnis erst später
erschlossen werden kann.

2. Gesetze der Tonverschmelzung

Nicht alle Tonpaare verschmelzen gleich innig, d. h. nicht alle nähern sich
gleichviel dem Einklang. Unter V e r s c h m e l z u n g verstehen wir nämlich mit
S t u m p f die A n n ä h e r u n g a n d e n E i n k l a n g . Gewisse Tonpaare unterscheidet
auch ein musikalisch normales Ohr nicht ohne weiteres vom Einklang, während
andere auch von Unmusikalischen sofort als Zweiklang gehört werden. Die
genauere Untersuchung ergibt folgende Gesetze der Tonverschmelzung. Sie hängt
zunächst von der H ö h e der beiden Töne ab. Nach der Innigkeit der
Verschmelzung scheinen fünf Stufen zu bestehen: Oktav, Quint, Quart, Terzen und
Sexten, endlich alle übrigen Intervalle, die untereinander keinen Unterschied des
Verschmelzungsgrades aufweisen. Die Verschmelzungserscheinung ist sodann i n
a l l e n To n l a g e n zu beobachten, extrem hohe und tiefe Lagen vielleicht
ausgenommen. Drittens gilt das E r w e i t e r u n g s g e s e t z : ein Intervall läßt sich um
eine Oktav erweitern, ohne seinen Verschmelzungsgrad einzubüßen. Die Non hat
darum die gleiche Verschmelzung wie die Sekund, C und c wie C und c¹. Viertens
ist der Verschmelzungsgrad u n a b h ä n g i g v o n d e r S t ä r k e w i e v o n d e r Z a h l
d e r Te i l t ö n e . Die Einheitlichkeit eines Zweiklanges vermindert sich also nicht,
wenn beide Töne oder einer von ihnen stärker bzw. schwächer wird; sie leidet
auch nicht darunter, daß ein dritter Ton hinzutritt.
K o n s o n a n z u n d D i s s o n a n z . Unter Konsonanz versteht der Sprachgebrauch
sowohl die innige Verbindung zweier Töne, wie auch die Annehmlichkeit, die einer
solchen Verbindung eigen ist. Sieht man von letzterem als einem Gefühlsmoment
ab, es wechselt nämlich je nach dem Beurteiler, so kann man die Konsonanz der
Verschmelzung in unserem Sinne gleichsetzen. Die Stufenfolge in der
Vollkommenheit der Konsonanz, welche die Musikwissenschaft aufgestellt hat,
stimmt nämlich mit der Reihenfolge der Verschmelzungsgrade überein. Nach der
Musiktheorie sind Oktav, Quint und Quart vollkommene Konsonanzen, Terzen und
Sexten unvollkommene, alle andern Dissonanzen. Ein prinzipieller Gegensatz
zwischen Konsonanzen und Dissonanzen ließ sich jedoch experimentell nicht
nachweisen. Somit darf die Dissonanz als mangelnde Einheitlichkeit zweier oder
mehrerer Töne gelten. Empfindungsmäßig erscheint die Konsonanz als das Klare,
Einfache, während die Dissonanz als rauh, unklar, zwiespältig anspricht.

3. Die Erklärung der Konsonanz

Eine kurze Besprechung der verschiedenen Erklärungsversuche


wird uns zugleich noch einzelne Faktoren kennen lehren, die den
Gesamteindruck mitbestimmen. Der älteste Erklärungsversuch
beachtete besonders die e i n f a c h e n V e r h ä l t n i s s e , die zwischen den
Schwingungszahlen konsonanter Töne herrschen; einfache
übersichtliche Verhältnisse seien uns angenehm (L e i b n i z ). Allein die
Konsonanz empfindet auch derjenige, der von den mathematischen
Verhältnissen der Schwingungszahlen keine Ahnung hat.
Ebensowenig wie von den Schwingungszahlen entdecken wir etwas
von der R h y t h m i k d e r h a r m o n i s c h e n T ö n e (L i p p s ). Verständlicher
ist die Erklärung, welche die harmonischen Intervalle unmittelbar ein
Lust-, die unharmonischen unmittelbar ein U n l u s t g e f ü h l
hervorrufen läßt. In der Tat begleitet jene in der Regel ein
unmittelbares Lust-, diese ein unmittelbares Unlustgefühl. Doch ist
dieser Zusammenhang ein unauflöslicher. Im Altertum soll die Oktav,
im Mittelalter die Quint als angenehmstes Intervall gegolten haben,
während heute die Terz bevorzugt wird. Und wie die Lust, so kann
auch die Unlust wandern: Freunde moderner Musik können an
dissonanten Intervallen Gefallen finden. H e l m h o l t z hatte auf die
große Bedeutung der O b e r t ö n e für die Klänge hingewiesen. Ein
gewisser Reichtum an Obertönen scheint in Wirklichkeit den
Gesamteindruck der Konsonanz zu verstärken. Zwischen Obertönen
und Grundtönen entstehen ferner, wie oben gezeigt wurde,
Differenztöne, die ihrerseits Schwebungen verursachen können.
Diese verleihen dem Gesamteindruck etwas Rauhes. Darum erblickte
Helmholtz das Wesen der Dissonanz in den Schwebungen, das der
Konsonanz in der Freiheit von solchen. Allein abgesehen von der
Mißlichkeit, daß der positive Eindruck der Annehmlichkeit, wie ihn
etwa die Terz gewährt, durch etwas rein Negatives verständlich
gemacht werden soll, verträgt sich diese bedeutsame Theorie nicht
mit den Tatsachen. Denn Stumpf gelang der Nachweis, daß es
schwebungsfreie Dissonanzen und von Schwebungen begleitete
Konsonanzen gibt. Helmholtz versuchte noch eine zweite Erklärung
durch die K l a n g v e r w a n d t s c h a f t . Zwei Töne sind um so ähnlicher, je
mehr gemeinsame Obertöne sie haben. Nun sind gerade die
konsonantesten Töne auch die im genannten Sinne ähnlichsten.
Konsonanz ist darum als Ähnlichkeit der Töne zu verstehen. Indes,
auch obertonfreie Töne verschmelzen. Auf eine andere Art der
Klangverwandtschaft machte W u n d t aufmerksam und suchte sie zur
Theorie der Konsonanz zu verwerten: zwei Töne sind indirekt
miteinander verwandt, wenn sie Obertöne desselben Grundtones
sind. Tatsächlich wird auch bei einem Zweiklang der Grundton als
Differenzton mitempfunden. Auch diese Theorie weist zwar neue
Elemente auf, die bei dem Gesamteindruck mitspielen, läßt jedoch
das Grundphänomen unerklärt. Der gemeinsame Grundton fügt zu
den beiden andern nur einen dritten hinzu, besagt aber noch nicht
eine Konsonanz der Primärtöne. Nach Ablehnung all dieser
scharfsinnigen und für die Erkenntnis der Konsonanzerscheinungen
wertvollen Erklärungsversuche kommt schließlich S t u m p f dazu, in
der V e r s c h m e l z u n g e i n e l e t z t e p s y c h o l o g i s c h e Ta t s a c h e zu
erblicken, die also psychologisch nicht weiter gedeutet werden kann
und höchstens eine weitere physiologische Erklärung zuläßt.
Vermutlich entsprechen den stärker verschmelzenden Tönen
einheitlichere physiologische Vorgänge, die darum auch einen
einheitlicheren psychischen Vorgang bedingen.

Literatur
C. S t u m p f , Tonpsychologie. 2 Bde. 1883/1890.
2. Kap. Die optischen Raumeindrücke

Eine Mehrheit optischer Reize, die gleichzeitig auf das Auge


einwirken, bedingen durch ihre Vielheit einen ganz anderen Eindruck
als eine Mehrheit akustischer Reize. Mögen noch so viele und
vielartige Luftwellen unser Ohr treffen, es entsteht niemals ein
räumlich ausgedehnter Klang; der Klang gewinnt niemals etwas
Flächenhaftes. Das Auge hingegen empfängt den unmittelbaren
Eindruck einer sich in die Breite und Tiefe erstreckenden
Ausdehnung; wenigstens ist dies so bei dem normalen Erwachsenen,
von dem unsere Betrachtung stets ausgeht. Es wird sich empfehlen,
zunächst den optischen Eindruck der Fläche zu studieren.

A. D e r o p t i s c h e E i n d r u c k d e r F l ä c h e

1. Das Flächenelement. Nativismus und Empirismus

Als erstes Problem drängt sich die Frage auf: Woher stammt das
Räumliche beim Zusammentritt mehrerer Gesichtsempfindungen,
oder genauer: bei der Reizung benachbarter Netzhautelemente?
Bewirkt schon die Reizung einer einzigen Optikusfaser einen
flächenhaften Eindruck? Ein solcher Versuch müßte wohl an einem
Blindgeborenen angestellt werden, um etwaige Einflüsse der
Entwicklung auszuschließen; allein mit unseren gegenwärtigen
Mitteln ist er nicht ausführbar. Wir gehen darum besser von der uns
bekannten Gesichtsempfindung selbst aus, die wir uns zunächst mit
einem Raumwert ausgezeichnet vorstellen. Versuchen wir nun das
Flächenhafte eines Rot auf Null zu reduzieren, so leuchtet ein, daß
damit die Empfindung selbst verschwinden muß. Die Ausdehnung
scheint somit eine der Gesichtsempfindung ursprünglich
zukommende Eigenschaft zu sein.
Damit, daß das Empfindungselement von Haus aus flächenhaft
ausgedehnt ist, ist noch nicht verständlich gemacht, warum die
Reizung mehrerer nebeneinander liegender Netzhautelemente eine
Summation der Flächeneindrücke ergibt, mit andern Worten,
weshalb wir in diesem Falle eine ausgedehntere Fläche
wahrnehmen. Noch viel weniger ist damit erklärt, wieso die
räumliche Ordnung der Gesichtseindrücke der räumlichen Anordnung
der gereizten Netzhautelemente entspricht. Namentlich um diese
beiden letzten Fragen dreht sich auch heute noch der Streit zwischen
Empirismus und Nativismus.
Teils aus metaphysischen Gründen, mit Rücksicht auf die Einfachheit der Seele
(H e r b a r t , L o t z e ), teils aus dem methodischen Gedanken heraus, mit möglichst
wenigen Elementen des Seelenlebens auszukommen (die englischen
Assoziationspsychologen), erkennt der Empirismus der ursprünglichen
Gesichtsempfindung keine Ausdehnung zu. Die Entstehung der räumlichen
Ordnung des Gesichtsbildes suchte Lotze durch die geistvolle T h e o r i e d e r
L o k a l z e i c h e n zu erklären: Wird eine exzentrisch gelegene Netzhautstelle von
einem Lichtreiz getroffen, so wendet das Auge unwillkürlich die Netzhautmitte der
Lichtquelle zu. Es führt dabei eine ganz bestimmte Muskelbewegung aus, die
immer nur dann vorhanden ist, wenn nach anfänglicher Reizung jener bestimmten
Stelle die Netzhautmitte dem Lichtreiz ausgesetzt werden soll. Werden andere
exzentrische Stellen getroffen, so erfolgen andere Bewegungen und
dementsprechend andere Muskelkontraktionen. Jede Muskelkontraktion ruft aber
in der Seele eine eigenartige Spannungsempfindung hervor. Somit verbindet sich
mit der Reizung einer jeden Netzhautstelle eine eigenartige
Spannungsempfindung: dem System der Netzhautstellen entspricht ein System
von Spannungsempfindungen. Wie die Bücher einer Bibliothek durch ihre
Etiketten, so sind die qualitativen Erregungen der einzelnen Netzhautorte durch
ihre Spannungsempfindungen gekennzeichnet. Und genau so wie eine solche
Bibliothek in beliebiger Ordnung verpackt und doch in der früheren Ordnung in
einem andern Raume wieder aufgestellt werden kann, so können auch in der
Nervenleitung die Erregungen einen beliebigen Weg nehmen: die Seele weiß dann
doch die ursprüngliche Ordnung wiederherzustellen. — W u n d t baute diese
Theorie zu der der komplexen Lokalzeichen aus. Die Farbenqualitäten, die von
dem gleichen Reiz auf verschiedenen Orten der Netzhaut erregt werden, sind nicht
gleich; bekanntlich verlieren sich nach der Peripherie zu sogar einzelne
Farbentöne. Für jeden Punkt der Netzhaut gibt es eine charakteristische lokale
Färbung. Mit dieser verbinden sich die gleichfalls charakteristischen
Spannungsempfindungen. Und die Verschmelzung beider ergibt in der Seele ein
völlig neues Produkt: die Ausdehnung samt der Ordnung. Allerdings soll sich dieser
Vorgang nicht in der Entwicklung des Individuums, sondern in der des Stammes
vollzogen haben.
Allein die von den Empiristen vorgebrachten Gründe sind nicht
überzeugend, und anderseits stehen ihrer Erklärung die größten
Schwierigkeiten im Wege. Die Einfachheit der Seele kann diese
sicher nicht hindern, ein Ausgedehntes abzubilden. Hingegen ist es
unbegreiflich, wie die Summation unräumlicher Empfindungen
jemals die Vorstellung einer Fläche liefern soll. Auch bleibt unfaßbar,
daß die Verschmelzung von Licht- und Spannungsempfindungen das
ganz anders geartete Produkt des Räumlichen ergibt. Der
methodische Vorteil, mit weniger Elementen eine Erscheinung zu
erklären, darf nicht durch die Einführung unbegreiflicher Annahmen
erkauft werden. Weiter, die Lokalzeichentheorie muß eine
Empfindlichkeit für kleinste Augenbewegungen ansetzen, die mit
unseren sonstigen Erfahrungen nicht übereinstimmt. Überdies ist die
Feinheit der Lokalisation gerade bei d e r Stelle der Netzhaut am
größten, die keine Bewegungen zur Erreichung besserer Sichtbarkeit
auszuführen braucht, nämlich beim gelben Fleck. Aus diesen
Gründen neigt darum heute die Mehrzahl der Psychologen
hinsichtlich der Flächenwahrnehmung dem Nativismus zu: Es ist eine
letzte, nicht weiter zu erklärende Tatsache, daß der Reizung eines
Netzhautelementes eine räumliche Lichtempfindung entspricht. Es ist
ferner eine letzte Tatsache, daß die von räumlich getrennten
Netzhautelementen erregten Empfindungen sich nicht über-,
sondern flächenhaft aneinanderlegen, und zwar in der gleichen
Reihenfolge und Richtung, in welcher die von den Lichtwellen
getroffenen Nervenzellen angeordnet sind. Jeder Reizung einer
bestimmten Netzhautstelle entspricht ein bestimmter Ortswert. Eine
begünstigende Bedingung, nicht eine Erklärung dafür, liegt in der
Tatsache, daß das Linsensystem des Auges die einzelnen
Lichtstrahlen geordnet auf der Netzhaut verteilt, und daß die isolierte
Nervenleitung die einzelnen Erregungen gesondert zum Gehirn
weiterführt. Ist somit nach nativistischer Auffassung der Ortswert
einer Netzhauterregung von Anfang an mitgegeben, so kann doch
die weitere Entwicklung eine Verfeinerung der Ortsauffassung
bewirken. Beides veranschaulicht sehr hübsch die pathologische
Erfahrung bei Loslösung und Verschiebung der Netzhaut. Weil die
Netzhautelemente ihren bestimmten Ortswert haben, erscheint dem
Kranken ein regelmäßig gezeichnetes Gitter als verzerrt. Nach einiger
Zeit soll sich jedoch wieder das normale Bild einstellen, weil
nunmehr die verschobene Netzhautpartie einen andern Ortswert
erlangt hat.
Die soeben dargestellte nativistische Auffassung muß sich heute
wohl einige Abstriche gefallen lassen. Die Annahme, daß die
Erregungen des einzelnen Sehnerven schon einen ausgebreiteten
(das Wort „flächenhaft“ legt schon den Begriff des „ebenen“ nahe,
der hier verfrüht ist; vgl. S. 87) Eindruck bedingen, und die
Tatsache, daß dank des dioptrischen Apparates jedes
Netzhautelement von einem vorbeiziehenden Objekt in jener
zeitlichen Reihenfolge gereizt wird, die dem objektiven Sachverhalt
entspricht, erklären die fraglichen Erscheinungen. Ohne Rücksicht
auf den weiteren Verlauf der Sehnerven oder deren Einstrahlung ins
Sehzentrum muß sich das Sehding ausgebreitet und richtig orientiert
aufbauen[3]. Das Nebeneinander, die Richtung und die Reihenfolge
der „Flächenelemente“ ist keine letzte Tatsache, sondern eine
notwendige Folge der beiden genannten Faktoren. Darum bedarf es
auch keines angeborenen „Ortswertes“, es genügt ein erworbener.

2. Der blinde Fleck

Die Sehsphäre im Gehirn erleidet mancherlei Unterbrechungen, so schon durch


die unempfindliche Stützsubstanz, die Neuroglia. Auch die Netzhaut enthält
verschiedene unempfindliche Stellen. Trifft das Bild kleinster Punkte auf sie, so
verschwinden die Punkte; sie tauchen gleichsam unter. Dennoch zeigt das
anschauliche Gesichtsfeld selbst keinerlei Unterbrechungen. Daraus ergibt sich das
interessante Problem, wie solche Lücken von der Seele ergänzt werden. Am
meisten wurde dieses Problem am blinden Fleck untersucht. Blinder Fleck heißt die
unweit von der Netzhautmitte gelegene Eintrittsstelle des Sehnerven. Zeichnet
man etwa 5 cm voneinander entfernt zwei nahezu in einer Horizontalen liegende
Kreuze und fixiert bei geschlossenem linken Auge das links liegende aus etwa 17
cm Entfernung, so verschwindet das rechts liegende, um bei geringer
Verschiebung des Auges sofort aufzutauchen. Das rechts angebrachte Kreuz kann
auch durch einen Kreis von 1 cm Durchmesser ersetzt werden. Es ist also eine
beträchtliche Ausdehnung, die so zum Verschwinden gebracht wird. Was wir nun
an dem blinden Fleck sehen, möge der Leser durch eigene Versuche finden.

3. Die kleinsten unterscheidbaren Raumgrößen in der Fläche

Eine linear angeordnete Reihe von Lichtreizen erzeugt das seelische Bild einer
Lichtlinie. Es fragt sich nun: wie ist die Zuordnung der einzelnen Netzhautelemente
zu den Teilen des gesehenen Bildes? Läßt man zwei getrennte Lichtreize auf eng
benachbarte Netzhautstellen einwirken, so erscheinen sie als zwei gesonderte
Punkte, wenn sie den Gesichtswinkel von etwa 1′ bilden. Man nimmt an, daß
zwischen den beiden gereizten Elementen wenigstens ein anderes liegen und von
einem merklich verschiedenen Reiz getroffen werden muß, falls so nahe
beieinanderliegende Punkte „aufgelöst“ werden sollen. Doch steigt die Feinheit des
A u f l ö s u n g s v e r m ö g e n s mit der Stärke der einwirkenden Reize und mit der
Größe des Helligkeitskontrastes zwischen den leuchtenden Punkten und dem
Grund, unter günstigen Bedingungen bis zu einem Auflösungswinkel von 10″. Für
diesen Fall würde allerdings die obige Annahme der Trennung zweier Eindrücke
durch ein dazwischen liegendes Netzhautelement nicht mehr ausreichen[4]. Die
S e h s c h ä r f e wird noch größer, wenn es sich darum handelt, die verschiedene
Lage zweier Geraden zu erkennen; nach H e r i n g deshalb, weil bei verschiedener
Lage sofort eine andere Reihe von Netzhautelementen erregt wird. Die Sehschärfe
ist am größten in der Netzhautmitte; bei 20° Entfernung ist sie (nach D o r ) nur
¹⁄₄₀, in 40° nur ¹⁄₂₀₀ von dieser.
Unter „A u g e n m a ß “ versteht man die Fähigkeit, Richtung und Größe einer
Linie zu beurteilen. Im Zusammenhang mit unserem Grundproblem interessiert
uns vor allem der G e r a d h e i t s e i n d r u c k , den eine objektiv gerade Linie
hervorruft. Er ist keineswegs immer vorhanden. Hält man ein Lineal so vor das
Auge, daß man es fixiert und es gleichzeitig einen rechten Winkel zur Blicklinie
bilden läßt, so erscheint das Lineal gerade. Verschiebt man es jedoch gegen den
Fixationspunkt, so zeigt es eine konkave Krümmung gegen diesen. Den Ursprung
des Geradheitseindruckes wollte H e l m h o l t z aus den Augenbewegungen erklären:
bewegt man das Auge einer geraden Linie entlang, so verschiebt sich das
Netzhautbild in sich selbst, was bei einer gekrümmten nicht der Fall ist. Bei der
Geraden entsteht so eine Linie, bei der gekrümmten müßte ein breites Band
erzeugt werden. Allein wir erkennen die Gerade auch mit ruhendem Auge, und bei
nicht allzu schneller Bewegung läßt auch die krumme Linie kein Band entstehen
(B ü h l e r ). Auch hier wird man mit H e r i n g auf eine ursprüngliche Zuordnung
bestimmt gelagerter Netzhautelemente zu dem Eindruck der Geradheit schließen
müssen.

4. Unvollkommenheiten des Einauges

Daß eine einäugig betrachtete, nicht fixierte Gerade als gebogen erscheint, und
daß dementsprechend eine aus hyperbolischen Kurven hergestellte
Schachbrettfigur unter bestimmten Bedingungen wie eine normale gesehen wird
(H e l m h o l t z ), das sind Widersprüche zwischen der gegenständlichen Welt und
ihrem psychischen Abbild, Empfindungsinadäquatheiten, wie österreichische
Psychologen sich ausdrücken. Sie werden allerdings durch das zweiäugige Sehen
und durch andere Hilfsmittel zumeist ausgeglichen. Eine andere
Empfindungsinadäquatheit stellt sich heraus, wenn man eine Horizontale bei
einäugiger Betrachtung nach dem Augenmaß teilen will. Der nach der Körpermitte
zu gelegene Teil der Linie wird dann zu klein gemacht. Er hat also für das Auge
einen größeren Wert als der andere Teil. Da aber sein Bild stets auf die nach
auswärts gelegene Hälfte der Netzhaut fällt, kann man auch sagen: die
Breitenwerte wachsen auf der äußeren Hälfte der Netzhaut rascher als auf der
inneren. Ebenso wird bei Halbierung einer Vertikalen der obere Abschnitt zu klein
genommen. Die Höhenwerte wachsen also auf der unteren Netzhauthälfte rascher
als auf der oberen. In ähnlicher Weise fanden sich Richtungstäuschungen, so beim
Herstellen einer Vertikalen oder einer Horizontalen allein mit Hilfe e i n e s Auges
und unter Ausschluß äußerer Anhaltspunkte. Wie diese Erscheinungen, so sind
auch einzelne geometrisch-optische Täuschungen unmittelbar auf
Unvollkommenheiten des Auges zurückzuführen. So erscheint ein weißes Quadrat
auf schwarzem Grund größer als ein schwarzes auf weißem Grund, wie überhaupt
helle Flächen gegenüber dunklen überschätzt werden. Offenbar ergreift da der
Reiz durch Irradiation auch die benachbarten Netzhautelemente, die nicht direkt
von dem Lichtstrahl getroffen werden. Die Vertikale wird gegenüber der
Horizontalen überschätzt. Ein wirkliches Quadrat erscheint den meisten Beurteilern
als zu hoch. Bei dieser Täuschung könnten jedoch auch die verschieden großen
Bewegungsanstrengungen mitspielen, die man bei beiden Richtungen
aufzuwenden hat, weshalb manche Forscher hier von Assoziationstäuschungen
sprechen. Dagegen dürfte es auf die vertikale Teilungstäuschung hinauskommen,
wenn uns die gedruckte 8 und das gedruckte S als symmetrisch gebaut anspricht,
während sich doch durch einfache Umkehrung die größere Ausdehnung des
unteren Teiles unschwer erkennen läßt. Andere geometrisch-optische
Täuschungen als die genannten setzen höhere geistige Prozesse voraus.
B. D i e E r f a s s u n g d e r d r e i D i m e n s i o n e n d u r c h d a s E i n a u g e

1. Das Aufrechtsehen und die horizontale Ordnung

Der Begriff „aufrecht“ besagt eine Beziehung der Lage eines


Dinges zu einem andern. Beziehungen (als solche) zu erfassen, ist
aber nicht Sache der Sinne — eine Tatsache, die wir später
ausführlich nachzuweisen haben. Wenn wir darum in der
Empfindungslehre an die Frage herantreten, warum wir a u f r e c h t
s e h e n , ist es erforderlich, vorab darüber klar zu werden, welcher
anschauliche Tatbestand vorliegt, wenn wir die Lage irgendeines
Dinges als aufrecht bezeichnen. Da ergibt sich, daß aufrecht soviel
bedeutet wie der gewöhnlichen stehenden Lage unseres Körpers
gleichgerichtet. Als unten gelegen charakterisieren wir dabei jene
Teile, die unseren Füßen und dem Boden, auf dem wir stehen, am
nächsten sind, während die entgegengesetzt liegenden sich „oben“
befinden. Senkt sich der Blick, so erscheint die Wurzel eines Baumes
z. B. nahe bei unseren Füßen, die Krone hingegen strebt, wie unser
Haupt, dem Himmelsgewölbe zu. Treten wir dagegen vor einen
gefällten Baum hin, so erstreckt sich der gesehene Baum horizontal.
Seine Krone liegt jetzt vielleicht in der Nähe unserer rechten Hand
und sein Stamm in der Nähe unserer linken. Die Orientierung nach
diesen beiden Richtungen geschieht somit nach der Lage unseres
eigenen Körpers. Da sich nun die von unten und oben, von rechts
und links kommenden Lichtstrahlen im Knotenpunkt des Auges
kreuzen und erst nach dieser Kreuzung die Netzhaut treffen, so hat
das Netzhautbild eine andere Lage als der gesehene Baum: seine
unteren Teile bilden sich auf der oberen, seine rechten Teile auf der
linken Hälfte der Netzhaut ab, und umgekehrt.
Unsere Darlegung hält sich streng an die Bewußtseinstatsachen. Da nun unser
Bewußtsein nichts von der Existenz eines Netzhautbildes meldet, so gibt es für uns
kein „Problem des Aufrechtsehens“. Dieses entstand erst, als die Wissenschaft das
Netzhautbild entdeckte, indes noch nicht echt psychologisch denken gelernt hatte.
Man versuchte die Lösung des vermeintlichen Problems durch eine
P r o j e k t i o n s t h e o r i e . Nach ihr verlegt das Auge dem Lichtstrahl rückwärts
folgend, das Objekt dorthin, woher der Strahl kommt. Allein diese Theorie ist
ebenso überflüssig wie unhaltbar. Denn einmal wissen wir nichts von einer solchen
Rückverfolgung der einfallenden Lichtstrahlen. Sodann gelangten wir auch dabei,
wie die Ausführungen des vorigen Abschnittes zeigen, gar nicht immer an die Orte
der Lichtreize, da die einzelnen Regionen der Netzhaut nicht gleichwertig sind und
darum das „Sehding“ (H e r i n g ) dem wirklichen Ding nicht völlig entspricht. Einen
andern durchschlagenden Beweis gegen die Projektionstheorie werden wir später
kennen lernen. Ebenso unhaltbar sind die Vermutungen über eine
Wiederumkehrung des Netzhautbildes auf dem Wege zum Gehirn, und die über
eine Korrektur des umgekehrten Bildes durch den Tastsinn. — Einen
experimentellen Beweis für den empirischen Ursprung der Lageauffassung
erbrachte der Amerikaner S t r a t t o n . Er hielt ein Auge verschlossen und versah
das andere mit einer Linsenkombination, die das Netzhautbild umkehrte. Anfangs
erblickte er die Umgebung umgekehrt. Allein schon nach wenigen Tagen verlor
sich dieser Eindruck; die Dinge fingen an, denselben Eindruck des „aufrecht“ zu
machen wie normal. Die Lage des Netzhautbildes ist also für unser Sehen im
Grunde nebensächlich. Nur infolge der Gewöhnung bilden sich auch für die
einzelnen Teile der Netzhaut Lagewerte aus. Und darum erscheint bei Gebrauch
einer das Netzhautbild umkehrenden Linse die Außenwelt auf dem Kopf stehend.
Diese Lagewerte sind indes nur durch Angewöhnung erworben und können
deshalb durch eine entgegengesetzte Gewöhnung überwunden und durch
gegenteilige ersetzt werden.

2. Das Tiefensehen

Größere Schwierigkeiten als die erörterten bereitet die Erklärung


der T i e f e n d i m e n s i o n . Auch der von Geburt aus Einäugige hat eine
anschauliche Tiefenwahrnehmung. Von einer Tiefene m p f i n d u n g
kann man hier nicht wohl sprechen; denn man wüßte beim Einauge
keine physiologische Erregung zu nennen, der diese Empfindung
entspräche. Es wird darum der empfindungsmäßige Flächeneindruck
durch Vorstellungselemente eine Ergänzung erfahren. Vielleicht kann
man sich, ehe experimentelle Untersuchungen zu Gebote stehen,
den anschaulichen Tiefeneindruck des Einäugigen folgendermaßen
entstanden denken. Man stelle sich einige Schritte vor eine
Zimmerwand. Man sieht diese Wand als eine Fläche in einer

You might also like