Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Java Code Containers class interface enumeration (enum keyword) Contents of a Class fields o instance variables o class variables (static keyword) methods enumerations inner classes (such as the event handler classes of Chapter 14) Contents of an Interface public abstract methods public static final constants Access Modifiers public private protected “package” (absence of an access modifier) Package A collection of related classes in the same folder “package” access public to all classes in the same folder (no access modifier in class heading package Keyword package keyword causes a folder to be created to store the class created from a Java source file o package keyword was used in Chapter 17 for the class ItemRecord Java Relationships is-a has-a uses-a inheritance relationship composition relationship use of a public static method in a class a SalariedEmployee is-a Employee a GradeBook has-a String object Math.pow(2.0, 3.0) extends Keyword public class HourlyEmployee extends Employee HourlyEmployee inherits directly from Employee implements Keyword public class Invoice implements Payable Class Invoice must implement the interface Payable Polymorphism Classes can have a common method that is implemented differently in each class. o Employee / HourlyEmployee / SalaryEmployee may all have a method called earnings Polymorphism is achieved by using a superclass reference to a subclass object Class Categories abstract concrete final An instance of the class can NOT be created A class can be used to create an instance of the class (an object) A final class can not be used to create a subclass Downcast a reference //superclass reference to a subclass object Employee employee = new BasePlusCommissionEmployee(); if ( employee instanceof BasePlusCommissionEmployee ) //test to see if BPCE { BasePlusCommissionEmployee bpce = ( BasePlusCommissionEmployee ) employee; bpce.setBaseSalary( bpce.getBaseSalary() * 1.05 ); //cast } Test for an Inheritance Relationship Using instanceof Operator hourlyEmployee instanceof HourlyEmployee hourlyEmployee instanceof Employee basePlusCommissionEmployee instanceof CommissionEmployee basePlusCommissionEmployee instanceof Employee Exception Handling “checked” Exceptions o all exception classes that are NOT a subclass of RuntimeException o checked exceptions must be caught or declared to be thrown o Exceptions can be caught using try / catch / finally blocks “unchecked” Exceptions o Exception class and all subclasses of it EXCEPT for the subclasses of RuntimeException Exception Handling Keywords throw o throw new ArithmeticException(); //throw an anonymous reference to an ArithmeticException object throws o //this fulfills Java’s requirement that a “checked” exception must be “caught or declared to be thrown” public static void main( String[ ] args ) throws FileNotFoundException //declare to be thrown