├── .idea ├── .gitignore ├── Java Complete Reference.iml ├── misc.xml ├── modules.xml ├── uiDesigner.xml └── vcs.xml ├── Part_I ├── AbstractDemo.java ├── Alpha.java ├── AnotherClient.java ├── Answers.java ├── Apple.java ├── Apple1.java ├── Apple2.java ├── AskMe.java ├── AskMe1.java ├── BRRead.java ├── BRReadLines.java ├── Beta.java ├── Callback.java ├── ChainExcDemo.java ├── Client.java ├── CurrentThreadDemo.java ├── Deadlock.java ├── DefaultMethodDemo.java ├── DemoJoin.java ├── DemoShipment.java ├── DynStack.java ├── DynamicMethodDispatch_and_MethodOverriding.java ├── DynamicMethodDispatch_and_MethodOverriding2.java ├── EnumDemo.java ├── EnumDemo2.java ├── EnumDemo3.java ├── EnumDemo4.java ├── Exc0.java ├── Exc1.java ├── Exc2.java ├── ExtendThread.java ├── FinallyDemo.java ├── FindGreatest.java ├── FixedStack.java ├── HandleError.java ├── IFExtend.java ├── IFTest2.java ├── IFTest3.java ├── Incomplete.java ├── IntStack.java ├── InterfaceTest.java ├── Marker.java ├── Meta.java ├── Meta2.java ├── Meta3.java ├── Meta4.java ├── MethNestTry.java ├── MultiCatch.java ├── MultiThreadDemo.java ├── MultipleCatches.java ├── MyClass2.java ├── MyException.java ├── MyIF.java ├── MyIFImp.java ├── MyIFImp2.java ├── NameCode.java ├── NestTry.java ├── NestedClasses.java ├── Nested_Interface_Demo.java ├── NewThread.java ├── NewThread2.java ├── NewThread3.java ├── NewThread4.java ├── PC.java ├── PCFixed.java ├── Question.java ├── Question1.java ├── RepeatAnno.java ├── SharedConstants.java ├── Single.java ├── SuperSubCatch.java ├── SuspendResume.java ├── Synch.java ├── Synch1.java ├── TestIface.java ├── TestIface2.java ├── ThreadDemo.java ├── ThrowDemo.java ├── ThrowsDemo.java ├── TinyEditor.java ├── TypeAnnoDemo.java ├── UseStatic.java ├── Use_Of_Finalize.java └── VarArgs.java ├── README.md ├── java - the complete reference book.pdf └── out └── production └── Java Complete Reference ├── .idea ├── .gitignore ├── Java Complete Reference.iml ├── misc.xml ├── modules.xml ├── uiDesigner.xml └── vcs.xml ├── Part_I ├── A.class ├── A3$NestedIF.class ├── A3.class ├── A4.class ├── A5.class ├── AbstractDemo.class ├── Alpha.class ├── AnotherClient.class ├── Answers.class ├── Apple.class ├── Apple1.class ├── Apple2.class ├── AskMe.class ├── AskMe1$1.class ├── AskMe1.class ├── B.class ├── B3.class ├── B4.class ├── B5.class ├── BRRead.class ├── BRReadLines.class ├── Beta.class ├── Box.class ├── BoxWeight.class ├── Callback.class ├── Caller.class ├── Caller2.class ├── Callme.class ├── Callme2.class ├── ChainExcDemo.class ├── Client.class ├── Consumer.class ├── Consumer1.class ├── CurrentThreadDemo.class ├── Deadlock.class ├── DefaultMethodDemo.class ├── DemoJoin.class ├── DemoShipment.class ├── DynStack.class ├── DynamicMethodDispatch_and_MethodOverriding.class ├── DynamicMethodDispatch_and_MethodOverriding2.class ├── EmptyOK.class ├── EnumDemo$1.class ├── EnumDemo.class ├── EnumDemo2.class ├── EnumDemo3.class ├── EnumDemo4.class ├── Exc0.class ├── Exc1.class ├── Exc2.class ├── ExceptionDemo.class ├── ExtendThread.class ├── Figure.class ├── Figure2.class ├── FinallyDemo.class ├── FindGreatest.class ├── FixedStack.class ├── HandleError.class ├── IFExtend.class ├── IFTest2.class ├── IFTest3.class ├── Incomplete.class ├── InnerClassDemo.class ├── IntStack.class ├── InterfaceTest.class ├── Marker.class ├── MaxLen.class ├── Meta.class ├── Meta2.class ├── Meta3.class ├── Meta4.class ├── MethNestTry.class ├── MultiCatch.class ├── MultiThreadDemo.class ├── MultipleCatches.class ├── MyAnno.class ├── MyAnno2.class ├── MyAnno3.class ├── MyClass.class ├── MyClass2.class ├── MyException.class ├── MyIF.class ├── MyIFImp.class ├── MyIFImp2.class ├── MyMarker.class ├── MyRepeatedAnnos.class ├── MySingle.class ├── NameCode.class ├── NestTry.class ├── NestedClasses$Inner.class ├── NestedClasses.class ├── Nested_Interface_Demo.class ├── NewThread.class ├── NewThread2.class ├── NewThread3.class ├── NewThread4.class ├── NewThread5.class ├── NotZeroLen.class ├── PC.class ├── PCFixed.class ├── Producer.class ├── Producer1.class ├── Q.class ├── Q1.class ├── Question.class ├── Question1.class ├── Recommended.class ├── Rectangle.class ├── Rectangle2.class ├── RepeatAnno.class ├── SharedConstants.class ├── Shipment.class ├── Single.class ├── SuperSubCatch.class ├── SuspendResume.class ├── Synch.class ├── Synch1.class ├── TestIface.class ├── TestIface2.class ├── ThreadDemo.class ├── ThrowDemo.class ├── ThrowsDemo.class ├── TinyEditor.class ├── Triangle.class ├── Triangle2.class ├── TypeAnno.class ├── TypeAnnoDemo$SomeClass.class ├── TypeAnnoDemo.class ├── Unique.class ├── UseStatic.class ├── Use_Of_Finalize.class ├── VarArgs.class ├── What.class └── What2.class ├── README.md └── java - the complete reference book.pdf /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/Java Complete Reference.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/uiDesigner.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Part_I/AbstractDemo.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // A Simple demonstration of abstract. 4 | abstract class A { 5 | abstract void callme(); 6 | // concrete methods are still allowed in abstract classes 7 | void callmetoo() { 8 | System.out.println("This is a concrete method."); 9 | } 10 | } 11 | class B extends A { 12 | void callme() { 13 | System.out.println("B's implementation of callme."); 14 | } 15 | } 16 | class AbstractDemo { 17 | public static void main(String args[]) { 18 | B b = new B(); 19 | b.callme(); 20 | b.callmetoo(); 21 | } 22 | } -------------------------------------------------------------------------------- /Part_I/Alpha.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public interface Alpha extends Beta { 4 | default void reset(){ 5 | System.out.println("Alpha's reset() method"); 6 | System.out.println("Referring to Beta's reset() method below..."); 7 | Beta.super.reset(); // can also refer to the default implementation of 'Beta' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Part_I/AnotherClient.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Another implementation of Callback. 4 | class AnotherClient implements Callback { 5 | // Implement Callback's interface 6 | public void callback(int p) { 7 | System.out.println("Another version of callback"); 8 | System.out.println("p squared is " + (p*p)); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Part_I/Answers.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public enum Answers { 4 | NO, YES, MAYBE, LATER, SOON, NEVER 5 | } 6 | -------------------------------------------------------------------------------- /Part_I/Apple.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // An enumeration of apple varieties. 4 | public enum Apple { 5 | Jonathan, GoldenDel, RedDel, Winesap, Cortland // These are called 'enumeration constants'. 6 | } 7 | -------------------------------------------------------------------------------- /Part_I/Apple1.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Use an enum constructor, instance variable, and method. 4 | public enum Apple1 { 5 | Jonathan(10), GoldenDel(9), RedDel(12), Winesap(15), Cortland(8); 6 | private int price; // price of each apple // instance variable 7 | // Constructor 8 | Apple1(int p) { price = p; } 9 | int getPrice() { return price; } 10 | } 11 | -------------------------------------------------------------------------------- /Part_I/Apple2.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public enum Apple2 { 4 | Jonathan(10), GoldenDel(9), RedDel, Winesap(15), Cortland(8); 5 | private int price; // price of each apple 6 | // Constructor 7 | Apple2(int p) { price = p; } 8 | // Overloaded constructor 9 | Apple2() { price = -1; } 10 | int getPrice() { return price; } 11 | } 12 | -------------------------------------------------------------------------------- /Part_I/AskMe.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class AskMe implements SharedConstants { 4 | static void answer(int result) { 5 | switch(result) { 6 | case NO: 7 | System.out.println("No"); 8 | break; 9 | case YES: 10 | System.out.println("Yes"); 11 | break; 12 | case MAYBE: 13 | System.out.println("Maybe"); 14 | break; 15 | case LATER: 16 | System.out.println("Later"); 17 | break; 18 | case SOON: 19 | System.out.println("Soon"); 20 | break; 21 | case NEVER: 22 | System.out.println("Never"); 23 | break; 24 | } 25 | } 26 | public static void main(String args[]) { 27 | Question q = new Question(); 28 | answer(q.ask()); 29 | answer(q.ask()); 30 | answer(q.ask()); 31 | answer(q.ask()); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Part_I/AskMe1.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class AskMe1 { 4 | static void answer(Answers result) { 5 | switch(result) { 6 | case NO: 7 | System.out.println("No"); 8 | break; 9 | case YES: 10 | System.out.println("Yes"); 11 | break; 12 | case MAYBE: 13 | System.out.println("Maybe"); 14 | break; 15 | case LATER: 16 | System.out.println("Later"); 17 | break; 18 | case SOON: 19 | System.out.println("Soon"); 20 | break; 21 | case NEVER: 22 | System.out.println("Never"); 23 | break; 24 | } 25 | } 26 | public static void main(String args[]) { 27 | Question1 q = new Question1(); 28 | answer(q.ask()); 29 | answer(q.ask()); 30 | answer(q.ask()); 31 | answer(q.ask()); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Part_I/BRRead.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Use a BufferedReader to read characters from the console. 4 | import java.io.*; 5 | class BRRead { 6 | public static void main(String[] args) throws IOException 7 | { 8 | char c; 9 | BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 10 | System.out.println("Enter characters, 'q' to quit."); 11 | // read characters 12 | do { 13 | c = (char) br.read(); 14 | System.out.println(c); 15 | } while(c != 'q'); 16 | } 17 | } -------------------------------------------------------------------------------- /Part_I/BRReadLines.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Read a string from console using a BufferedReader. 4 | import java.io.*; 5 | class BRReadLines { 6 | public static void main(String[] args) throws IOException 7 | { 8 | // create a BufferedReader using System.in 9 | BufferedReader br = new BufferedReader(new 10 | InputStreamReader(System.in)); 11 | String str; 12 | System.out.println("Enter lines of text."); 13 | System.out.println("Enter 'stop' to quit."); 14 | do { 15 | str = br.readLine(); 16 | System.out.println(str); 17 | } while(!str.equals("stop")); 18 | } 19 | } -------------------------------------------------------------------------------- /Part_I/Beta.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public interface Beta { 4 | default void reset(){ 5 | System.out.println("Beta's reset() method"); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Part_I/Callback.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public interface Callback { 4 | void callback(int param); 5 | } 6 | -------------------------------------------------------------------------------- /Part_I/ChainExcDemo.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | // Demonstrate exception chaining. 3 | 4 | public class ChainExcDemo { 5 | static void demoproc() { 6 | // create an exception 7 | NullPointerException e = new NullPointerException("top layer"); 8 | // add a cause 9 | ArithmeticException ae = new ArithmeticException("cause"); 10 | e.initCause(ae); 11 | IllegalArgumentException iae = new IllegalArgumentException("Illegal Argument"); 12 | ae.initCause(iae); 13 | throw e; 14 | } 15 | 16 | static void demoproc2() { 17 | // create an exception 18 | ArithmeticException ae = new ArithmeticException("cause"); 19 | // add a cause 20 | IllegalArgumentException iae = new IllegalArgumentException("Illegal Argument"); 21 | ae.initCause(iae); 22 | throw ae; 23 | } 24 | 25 | public static void main(String[] args) { 26 | try { 27 | demoproc(); 28 | } catch(NullPointerException e) { 29 | // display top level exception 30 | System.out.println("Caught: " + e); 31 | // display cause exception 32 | System.out.println("Original cause: " + 33 | e.getCause()); 34 | } 35 | 36 | try { 37 | demoproc(); 38 | } catch (NullPointerException | ArithmeticException e){ // multi-catch feature demo 39 | // display top level exception 40 | System.out.println("Caught: " + e); 41 | // display cause exception 42 | System.out.println("Original cause: " + 43 | e.getCause()); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Part_I/Client.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | class Client implements Callback { 4 | // Implement Callback's interface 5 | public void callback(int p) { 6 | System.out.println("callback called with " + p); 7 | } 8 | void nonIfaceMeth() { 9 | System.out.println("Classes that implement interfaces " + 10 | "may also define other members, too."); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Part_I/CurrentThreadDemo.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Controlling the main Thread. 4 | public class CurrentThreadDemo { 5 | public static void main(String[] args) { 6 | Thread t = Thread.currentThread(); 7 | System.out.println("Current thread : " + t); 8 | t.setName("Saptarshi's Thread"); 9 | System.out.println("After name change: " + t); 10 | 11 | try { 12 | for (int n = 0; n < 5 ; n++){ 13 | System.out.println(n); 14 | Thread.sleep(1000); 15 | } 16 | } catch (InterruptedException e){ 17 | System.out.println("Main Thread interrupted"); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Part_I/Deadlock.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // An example of deadlock. 4 | class A5 { 5 | synchronized void foo(B5 b) { 6 | String name = Thread.currentThread().getName(); 7 | System.out.println(name + " entered A.foo"); 8 | try { 9 | Thread.sleep(1000); 10 | } catch (Exception e) { 11 | System.out.println("A Interrupted"); 12 | } 13 | System.out.println(name + " trying to call B.last()"); 14 | b.last(); 15 | } 16 | 17 | synchronized void last() { 18 | System.out.println("Inside A.last"); 19 | } 20 | } 21 | 22 | class B5 { 23 | synchronized void bar(A5 a) { 24 | String name = Thread.currentThread().getName(); 25 | System.out.println(name + " entered B.bar"); 26 | try { 27 | Thread.sleep(1000); 28 | } catch(Exception e) { 29 | System.out.println("B Interrupted"); 30 | } 31 | System.out.println(name + " trying to call A.last()"); 32 | a.last(); 33 | } 34 | synchronized void last() { 35 | System.out.println("Inside A.last"); 36 | } 37 | } 38 | 39 | public class Deadlock implements Runnable { 40 | A5 a = new A5(); 41 | B5 b = new B5(); 42 | Deadlock() { 43 | Thread.currentThread().setName("MainThread"); 44 | Thread t = new Thread(this, "RacingThread"); 45 | t.start(); 46 | a.foo(b); // get lock on a in this thread. 47 | System.out.println("Back in main thread"); 48 | } 49 | public void run() { 50 | b.bar(a); // get lock on b in other thread. 51 | System.out.println("Back in other thread"); 52 | } 53 | public static void main(String[] args) { 54 | new Deadlock(); 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /Part_I/DefaultMethodDemo.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Use the default method. 4 | class DefaultMethodDemo { 5 | public static void main(String args[]) { 6 | MyIFImp obj = new MyIFImp(); 7 | // Can call getNumber(), because it is explicitly 8 | // implemented by MyIFImp: 9 | System.out.println(obj.getNumber()); 10 | // Can also call getString(), because of default 11 | // implementation: 12 | System.out.println(obj.getString()); 13 | } 14 | } -------------------------------------------------------------------------------- /Part_I/DemoJoin.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class DemoJoin { 4 | public static void main(String[] args) { 5 | NewThread4 ob1 = new NewThread4("One"); 6 | NewThread4 ob2 = new NewThread4("Two"); 7 | NewThread4 ob3 = new NewThread4("Three"); 8 | 9 | System.out.println("Thread One is alive: " + ob1.t.isAlive()); 10 | System.out.println("Thread Two is alive: " + ob2.t.isAlive()); 11 | System.out.println("Thread Three is alive: " + ob3.t.isAlive()); 12 | // wait for threads to finish 13 | try { 14 | System.out.println("Waiting for threads to finish."); 15 | ob1.t.join(); 16 | ob2.t.join(); 17 | ob3.t.join(); 18 | } catch (InterruptedException e) { 19 | System.out.println("Main thread Interrupted"); 20 | } 21 | System.out.println("Thread One is alive: " + ob1.t.isAlive()); 22 | System.out.println("Thread Two is alive: " + ob2.t.isAlive()); 23 | System.out.println("Thread Three is alive: " + ob3.t.isAlive()); 24 | System.out.println("Main thread exiting."); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Part_I/DemoShipment.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Extend BoxWeight to include shipping costs. 4 | // Start with Box. 5 | class Box { 6 | private double width; 7 | private double height; 8 | private double depth; 9 | // construct clone of an object 10 | Box(Box ob) { // pass object to constructor 11 | width = ob.width; 12 | height = ob.height; 13 | depth = ob.depth; 14 | } 15 | // constructor used when all dimensions specified 16 | Box(double w, double h, double d) { 17 | width = w; 18 | height = h; 19 | depth = d; 20 | } 21 | // constructor used when no dimensions specified 22 | Box() { 23 | width = -1; // use -1 to indicate 24 | height = -1; // an uninitialized 25 | depth = -1; // box 26 | } 27 | // constructor used when cube is created 28 | Box(double len) { 29 | width = height = depth = len; 30 | } 31 | // compute and return volume 32 | double volume() { 33 | return width * height * depth; 34 | } 35 | } 36 | // Add weight. 37 | class BoxWeight extends Box { 38 | double weight; // weight of box 39 | // construct clone of an object 40 | BoxWeight(BoxWeight ob) { // pass object to constructor 41 | super(ob); 42 | weight = ob.weight; 43 | } 44 | // constructor when all parameters are specified 45 | BoxWeight(double w, double h, double d, double m) { 46 | super(w, h, d); // call superclass constructor 47 | weight = m; 48 | } 49 | // default constructor 50 | BoxWeight() { 51 | super(); 52 | weight = -1; 53 | } 54 | // constructor used when cube is created 55 | BoxWeight(double len, double m) { 56 | super(len); 57 | weight = m; 58 | } 59 | } 60 | // Add shipping costs. 61 | class Shipment extends BoxWeight { 62 | double cost; 63 | // construct clone of an object 64 | Shipment(Shipment ob) { // pass object to constructor 65 | super(ob); 66 | cost = ob.cost; 67 | } 68 | // constructor when all parameters are specified 69 | Shipment(double w, double h, double d, 70 | double m, double c) { 71 | super(w, h, d, m); // call superclass constructor 72 | cost = c; 73 | } 74 | // default constructor 75 | Shipment() { 76 | super(); 77 | cost = -1; 78 | } 79 | // constructor used when cube is created 80 | Shipment(double len, double m, double c) { 81 | super(len, m); 82 | cost = c; 83 | } 84 | } 85 | public class DemoShipment { 86 | public static void main(String args[]) { 87 | Shipment shipment1 = 88 | new Shipment(10, 20, 15, 10, 3.41); 89 | Shipment shipment2 = 90 | new Shipment(2, 3, 4, 0.76, 1.28); 91 | double vol; 92 | vol = shipment1.volume(); 93 | System.out.println("Volume of shipment1 is " + vol); 94 | System.out.println("Weight of shipment1 is " 95 | + shipment1.weight); 96 | System.out.println("Shipping cost: $" + shipment1.cost); 97 | System.out.println(); 98 | vol = shipment2.volume(); 99 | System.out.println("Volume of shipment2 is " + vol); 100 | System.out.println("Weight of shipment2 is " 101 | + shipment2.weight); 102 | System.out.println("Shipping cost: $" + shipment2.cost); 103 | } 104 | } -------------------------------------------------------------------------------- /Part_I/DynStack.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Implement a "growable" stack. 4 | class DynStack implements IntStack { 5 | private int stck[]; 6 | private int tos; 7 | // allocate and initialize stack 8 | DynStack(int size) { 9 | stck = new int[size]; 10 | tos = -1; 11 | } 12 | // Push an item onto the stack 13 | public void push(int item) { 14 | // if stack is full, allocate a larger stack 15 | if (tos==stck.length-1) { 16 | int temp[] = new int[stck.length * 2]; // double size 17 | for(int i=0; i 0) { 21 | System.out.println(ap2 + " comes before " + ap); 22 | } 23 | if(ap.compareTo(ap3) == 0) { 24 | System.out.println(ap + " equals " + ap3); 25 | } 26 | System.out.println(); 27 | if(ap.equals(ap2)) { 28 | System.out.println("Error!"); 29 | } 30 | if(ap.equals(ap3)) { 31 | System.out.println(ap + " equals " + ap3); 32 | } 33 | if(ap == ap3) { 34 | System.out.println(ap + " == " + ap3); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Part_I/Exc0.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class Exc0 { 4 | public static void main(String[] args) { 5 | int d = 0; 6 | int a = 42 / d; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Part_I/Exc1.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class Exc1 { 4 | static void subroutine() { 5 | int d = 0; 6 | int a = 10 / d; 7 | } 8 | public static void main(String[] args) { 9 | Exc1.subroutine(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Part_I/Exc2.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class Exc2 { 4 | public static void main(String[] args) { 5 | int d, a; 6 | try { // monitor a block of code. 7 | d = 0; 8 | a = 42 / d; 9 | System.out.println("This will not be printed."); 10 | } catch (ArithmeticException e) { // catch divide-by-zero error 11 | System.out.println("Division by zero."); 12 | } 13 | System.out.println("After catch statement."); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Part_I/ExtendThread.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class ExtendThread { 4 | public static void main(String[] args) { 5 | new NewThread2(); 6 | try { 7 | for (int i = 5; i > 0; i--) { 8 | System.out.println("Main Thread: " + i); 9 | Thread.sleep(1000); 10 | } 11 | } catch (InterruptedException e) { 12 | System.out.println("Main thread interrupted."); 13 | } 14 | System.out.println("Main thread exiting."); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Part_I/FinallyDemo.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | // Demonstrate finally. 3 | 4 | public class FinallyDemo { 5 | // Throw an exception out of the method. 6 | static void procA() { 7 | try { 8 | System.out.println("inside procA"); 9 | throw new RuntimeException("demo"); 10 | } finally { 11 | System.out.println("procA's finally"); 12 | } 13 | } 14 | 15 | // Return from within a try block. 16 | static void procB() { 17 | try { 18 | System.out.println("inside procB"); 19 | return; 20 | } finally { 21 | System.out.println("procB's finally"); 22 | } 23 | } 24 | 25 | // Execute a try block normally. 26 | static void procC() { 27 | try { 28 | System.out.println("inside procC"); 29 | } finally { 30 | System.out.println("procC's finally"); 31 | } 32 | } 33 | 34 | public static void main(String args[]) { 35 | try { 36 | procA(); 37 | } catch (Exception e) { 38 | System.out.println("Exception caught"); 39 | } 40 | procB(); 41 | procC(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /Part_I/FindGreatest.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | import java.util.Scanner; 3 | public class FindGreatest { 4 | static int a, b, c; 5 | public static void main(String[] args){ 6 | Scanner sc = new Scanner(System.in); 7 | System.out.print("Enter three numbers : "); 8 | a = sc.nextInt(); 9 | b = sc.nextInt(); 10 | c = sc.nextInt(); 11 | if (a != b || b != c){ 12 | System.out.println("The greatest number is : " + greater()); 13 | } else { 14 | System.out.println("All the three numbers are same !"); 15 | } 16 | } 17 | 18 | static int greater(){ 19 | if (a > b && a > c){ 20 | return a; 21 | } else if (b > a && b > c){ 22 | return b; 23 | } else { 24 | return c; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Part_I/FixedStack.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // An implementation of IntStack that uses fixed storage. 4 | public class FixedStack implements IntStack { 5 | private int stck[]; 6 | private int tos; 7 | // allocate and initialize stack 8 | FixedStack(int size) { 9 | stck = new int[size]; 10 | tos = -1; 11 | } 12 | // Push an item onto the stack 13 | public void push(int item) { 14 | if (tos == stck.length - 1) // use length member 15 | System.out.println("Stack is full."); 16 | else 17 | stck[++tos] = item; 18 | } 19 | 20 | // Pop an item from the stack 21 | public int pop() { 22 | if(tos < 0) { 23 | System.out.println("Stack underflow."); 24 | return 0; 25 | } 26 | else 27 | return stck[tos--]; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Part_I/HandleError.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | // Handle an exception and move on. 3 | import java.util.Random; 4 | 5 | public class HandleError { 6 | public static void main(String[] args) { 7 | int a = 0, b = 0, c = 0; 8 | Random r = new Random(); 9 | for(int i = 0; i < 32000; i++) { 10 | try { 11 | b = r.nextInt(); 12 | c = r.nextInt(); 13 | a = 12345 / (b/c); 14 | } catch (ArithmeticException e) { 15 | System.out.println("Exception: " + e); 16 | // System.out.println("Division by zero."); 17 | a = 0; // set 'a' to zero and continue 18 | } 19 | System.out.println("a: " + a); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Part_I/IFExtend.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // One interface can extend another. 4 | interface A4 { 5 | void meth1(); 6 | void meth2(); 7 | } 8 | 9 | // B now includes meth1() and meth2() -- it adds meth3(). 10 | interface B4 extends A4 { 11 | void meth3(); 12 | } 13 | // This class must implement all of A and B 14 | class MyClass implements B4 { 15 | public void meth1() { 16 | System.out.println("Implement meth1()."); 17 | } 18 | public void meth2() { 19 | System.out.println("Implement meth2()."); 20 | } 21 | public void meth3() { 22 | System.out.println("Implement meth3()."); 23 | } 24 | } 25 | class IFExtend { 26 | public static void main(String arg[]) { 27 | MyClass ob = new MyClass(); 28 | ob.meth1(); 29 | ob.meth2(); 30 | ob.meth3(); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Part_I/IFTest2.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | class IFTest2 { 4 | public static void main(String args[]) { 5 | DynStack mystack1 = new DynStack(5); 6 | DynStack mystack2 = new DynStack(8); 7 | // these loops cause each stack to grow 8 | for(int i=0; i<12; i++) mystack1.push(i); 9 | for(int i=0; i<20; i++) mystack2.push(i); 10 | System.out.println("Stack in mystack1:"); 11 | for(int i=0; i<12; i++) 12 | System.out.println(mystack1.pop()); 13 | System.out.println("Stack in mystack2:"); 14 | for(int i=0; i<20; i++) 15 | System.out.println(mystack2.pop()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Part_I/IFTest3.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | /* Create an interface variable and 4 | access stacks through it. 5 | */ 6 | class IFTest3 { 7 | public static void main(String args[]) { 8 | IntStack mystack; // create an interface reference variable 9 | DynStack ds = new DynStack(5); 10 | FixedStack fs = new FixedStack(8); 11 | mystack = ds; // load dynamic stack 12 | // push some numbers onto the stack 13 | for(int i=0; i<12; i++) mystack.push(i); 14 | mystack = fs; // load fixed stack 15 | for(int i=0; i<8; i++) mystack.push(i); 16 | mystack = ds; 17 | System.out.println("Values in dynamic stack:"); 18 | for(int i=0; i<12; i++) 19 | System.out.println(mystack.pop()); 20 | mystack = fs; 21 | System.out.println("Values in fixed stack:"); 22 | for(int i=0; i<8; i++) 23 | System.out.println(mystack.pop()); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Part_I/Incomplete.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | abstract class Incomplete implements Callback { 4 | int a, b; 5 | void show() { 6 | System.out.println(a + " " + b); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /Part_I/IntStack.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Define an integer stack interface. 4 | interface IntStack { 5 | void push(int item); // store an item 6 | int pop(); // retrieve an item 7 | 8 | // Because clear( ) has a default, it need not be 9 | // implemented by a preexisting class that uses IntStack. 10 | default void clear() { 11 | System.out.println("clear() not implemented."); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Part_I/InterfaceTest.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class InterfaceTest { 4 | public static void main(String args[]) { 5 | FixedStack mystack1 = new FixedStack(5); 6 | FixedStack mystack2 = new FixedStack(8); 7 | // push some numbers onto the stack 8 | for (int i = 0; i < 5; i++) mystack1.push(i); 9 | for (int i = 0; i < 8; i++) mystack2.push(i); 10 | // pop those numbers off the stack 11 | System.out.println("Stack in mystack1:"); 12 | for (int i = 0; i < 5; i++) { 13 | System.out.println(mystack1.pop()); 14 | } 15 | System.out.println("Stack in mystack2:"); 16 | for(int i=0; i<8; i++) { 17 | System.out.println(mystack2.pop()); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Part_I/Marker.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | import java.lang.annotation.*; 4 | import java.lang.reflect.*; 5 | // A marker annotation. 6 | @Retention(RetentionPolicy.RUNTIME) 7 | @interface MyMarker { } 8 | class Marker { 9 | // Annotate a method using a marker. 10 | // Notice that no ( ) is needed. 11 | @MyMarker 12 | public static void myMeth() { 13 | Marker ob = new Marker(); 14 | try { 15 | Method m = ob.getClass().getMethod("myMeth"); 16 | // Determine if the annotation is present. 17 | if (m.isAnnotationPresent(MyMarker.class)) 18 | System.out.println("MyMarker is present."); 19 | } catch (NoSuchMethodException exc) { 20 | System.out.println("Method Not Found."); 21 | } 22 | } 23 | 24 | public static void main(String[] args) { 25 | myMeth(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Part_I/Meta.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | import java.lang.annotation.*; 4 | import java.lang.reflect.*; 5 | 6 | // An annotation typ declaration 7 | @Retention(RetentionPolicy.RUNTIME) 8 | @interface MyAnno{ 9 | String str(); 10 | int val(); 11 | } 12 | 13 | public class Meta { 14 | // Annotate a method 15 | @MyAnno(str = "Annotation Example", val = 100) 16 | public static void myMeth() { 17 | Meta ob = new Meta(); 18 | // Obtain the annotation for this method 19 | // and display the values of the members. 20 | try { 21 | // First, get a Class object that represents 22 | // this class. 23 | Class c = ob.getClass(); 24 | 25 | // Now, get a Method object that represents 26 | // this method. 27 | Method m = c.getMethod("myMeth"); 28 | 29 | // Next, get the annotation for this class. 30 | MyAnno anno = m.getAnnotation(MyAnno.class); 31 | 32 | // Finally, display the values. 33 | System.out.println(anno.str() + " " + anno.val()); 34 | } catch (NoSuchMethodException exc){ 35 | System.out.println("Method Not Found."); 36 | } 37 | } 38 | 39 | public static void main(String[] args) { 40 | myMeth(); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Part_I/Meta2.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | import java.lang.reflect.*; 4 | class Meta2 { 5 | // myMeth now has two arguments. 6 | @MyAnno(str = "Two Parameters", val = 19) 7 | public static void myMeth(String str, int i) 8 | { 9 | Meta2 ob = new Meta2(); 10 | try { 11 | Class c = ob.getClass(); 12 | // Here, the parameter types are specified. 13 | Method m = c.getMethod("myMeth", String.class, int.class); 14 | MyAnno anno = m.getAnnotation(MyAnno.class); 15 | System.out.println(anno.str() + " " + anno.val()); 16 | } catch (NoSuchMethodException exc) { 17 | System.out.println("Method Not Found."); 18 | } 19 | } 20 | public static void main(String[] args) { 21 | myMeth("test", 10); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Part_I/Meta3.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Show all annotations for a class and a method. 4 | import java.lang.annotation.*; 5 | import java.lang.reflect.*; 6 | 7 | @Retention(RetentionPolicy.RUNTIME) 8 | @interface What2 { 9 | String description(); 10 | } 11 | @What2(description = "An annotation test class") 12 | @MyAnno(str = "Meta3", val = 99) 13 | class Meta3 { 14 | @What2(description = "An annotation test method") 15 | @MyAnno(str = "Testing", val = 100) 16 | public static void myMeth() { 17 | Meta3 ob = new Meta3(); 18 | try { 19 | Annotation[] annos = ob.getClass().getAnnotations(); 20 | // Display all annotations for Meta2. 21 | System.out.println("All annotations for Meta2:"); 22 | for(Annotation a : annos) 23 | System.out.println(a); 24 | System.out.println(); 25 | // Display all annotations for myMeth. 26 | Method m = ob.getClass( ).getMethod("myMeth"); 27 | annos = m.getAnnotations(); 28 | System.out.println("All annotations for myMeth:"); 29 | for(Annotation a : annos) 30 | System.out.println(a); 31 | } catch (NoSuchMethodException exc) { 32 | System.out.println("Method Not Found."); 33 | } 34 | } 35 | public static void main(String[] args) { 36 | myMeth(); 37 | } 38 | } -------------------------------------------------------------------------------- /Part_I/Meta4.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | import java.lang.annotation.*; 4 | import java.lang.reflect.*; 5 | // An annotation type declaration that includes defaults. 6 | @Retention(RetentionPolicy.RUNTIME) 7 | @interface MyAnno2 { 8 | String str() default "Testing"; 9 | int val() default 9000; 10 | } 11 | 12 | class Meta4 { 13 | // Annotate a method using the default values. 14 | @MyAnno2() 15 | public static void myMeth() { 16 | Meta4 ob = new Meta4(); 17 | // Obtain the annotation for this method 18 | // and display the values of the members. 19 | try { 20 | Class c = ob.getClass(); 21 | Method m = c.getMethod("myMeth"); 22 | MyAnno2 anno = m.getAnnotation(MyAnno2.class); 23 | System.out.println(anno.str() + " " + anno.val()); 24 | } catch (NoSuchMethodException exc) { 25 | System.out.println("Method Not Found."); 26 | } 27 | } 28 | public static void main(String[] args) { 29 | myMeth(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Part_I/MethNestTry.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | /* Try statements can be implicitly nested via 4 | calls to methods. */ 5 | class MethNestTry { 6 | static void nestTry(int a) { 7 | try { // nested try block 8 | /* If one command-line arg is used, 9 | then a divide-by-zero exception 10 | will be generated by the following code. */ 11 | if(a==1) a = a/(a-a); // division by zero 12 | /* If two command-line args are used, 13 | then generate an out-of-bounds exception. */ 14 | if(a==2) { 15 | int c[] = { 1 }; 16 | c[42] = 99; // generate an out-of-bounds exception 17 | } 18 | } catch(ArrayIndexOutOfBoundsException e) { 19 | System.out.println("Array index out-of-bounds: " + e); 20 | } 21 | } 22 | public static void main(String args[]) { 23 | try { 24 | int a = args.length; 25 | /* If no command-line args are present, 26 | the following statement will generate 27 | a divide-by-zero exception. */ 28 | int b = 42 / a; 29 | System.out.println("a = " + a); 30 | nestTry(a); 31 | } catch(ArithmeticException e) { 32 | System.out.println("Divide by 0: " + e); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Part_I/MultiCatch.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | // Demonstrate the multi-catch feature. 3 | 4 | public class MultiCatch { 5 | public static void main(String[] args) { 6 | int a=10, b=0; 7 | int vals[] = { 1, 2, 3 }; 8 | try { 9 | int result = a / b; // generate an ArithmeticException 10 | vals[10] = 19; // generate an ArrayIndexOutOfBoundsException 11 | // This catch clause catches both exceptions. 12 | } catch(ArithmeticException | ArrayIndexOutOfBoundsException e) { 13 | System.out.println("Exception caught: " + e); 14 | } 15 | System.out.println("After multi-catch."); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Part_I/MultiThreadDemo.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class MultiThreadDemo { 4 | public static void main(String[] args) { 5 | new NewThread3("One"); 6 | new NewThread3("Two"); 7 | new NewThread3("Three"); 8 | 9 | try { 10 | // wait for other threads to end 11 | Thread.sleep(10000); 12 | } catch (InterruptedException e) { 13 | System.out.println("Main thread Interrupted"); 14 | } 15 | System.out.println("Main thread exiting."); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Part_I/MultipleCatches.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | // Demonstrate multiple catch statements. 3 | 4 | public class MultipleCatches { 5 | public static void main(String[] args) { 6 | try { 7 | int a = args.length; 8 | System.out.println("a = " + a); 9 | int b = 42 / a; 10 | int[] c = {1}; 11 | c[42] = 99; 12 | } catch (ArithmeticException e){ 13 | System.out.println("Divide by 0: " + e); 14 | } catch (ArrayIndexOutOfBoundsException e){ 15 | System.out.println("Array Index oob : " + e); 16 | } 17 | System.out.println("After try/catch blocks."); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Part_I/MyClass2.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class MyClass2 implements Alpha, Beta { 4 | public static void main(String[] args) { 5 | MyClass2 obj = new MyClass2(); 6 | obj.reset(); 7 | } 8 | 9 | public void reset() { // this overriden default method would run when two non-inheriting interfaces containing same default methods would be implemented 10 | System.out.println("MyClass2's reset method"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Part_I/MyException.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | // This program creates a custom exception type. 3 | 4 | public class MyException extends Exception { 5 | private int detail; 6 | MyException(int a) { 7 | detail = a; 8 | } 9 | public String toString() { 10 | return "MyException[" + detail + "]"; 11 | } 12 | } 13 | class ExceptionDemo { 14 | static void compute(int a) throws MyException { 15 | System.out.println("Called compute(" + a + ")"); 16 | if(a > 10) { 17 | throw new MyException(a); 18 | } 19 | System.out.println("Normal exit"); 20 | } 21 | public static void main(String args[]) { 22 | try { 23 | compute(1); 24 | compute(20); 25 | } catch (MyException e) { 26 | System.out.println("Caught " + e); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Part_I/MyIF.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public interface MyIF { 4 | // This is a "normal" interface method declaration. 5 | // It does NOT define a default implementation. 6 | int getNumber(); 7 | // This is a default method. Notice that it provides 8 | // a default implementation. 9 | default String getString() { 10 | return "Default String"; 11 | } 12 | 13 | // This is a static interface method. 14 | static int getDefaultNumber() { // static interface methods are not inherited by either an implementing class or a sub-interface 15 | return 0; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Part_I/MyIFImp.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Implement MyIF. 4 | class MyIFImp implements MyIF { 5 | // Only getNumber() defined by MyIF needs to be implemented. 6 | // getString() can be allowed to default. 7 | public int getNumber() { 8 | return 100; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Part_I/MyIFImp2.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class MyIFImp2 implements MyIF { 4 | // Here, implementations for both getNumber( ) and getString( ) are provided. 5 | public int getNumber() { 6 | return 100; 7 | } 8 | public String getString() { 9 | return "This is a different string."; 10 | } 11 | 12 | public static void main(String[] args) { 13 | int defNum = MyIF.getDefaultNumber(); 14 | System.out.println(defNum); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Part_I/NameCode.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | import java.util.*; 4 | 5 | public class NameCode { 6 | static char[] dict = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', ' '}; 7 | 8 | public static void main(String[] args) { 9 | Scanner sc = new Scanner(System.in); 10 | System.out.println("Enter : \n\t1 for Text Encryption \n\t2 for Cipher Decryption"); 11 | int choice = sc.nextInt(); 12 | switch (choice) { 13 | case 1 -> { 14 | System.out.print("Enter a name : "); 15 | sc.nextLine(); 16 | String str = sc.nextLine(); 17 | textEncryption(str); 18 | } 19 | case 2 -> { 20 | System.out.print("Enter a number : "); 21 | String str = sc.next(); 22 | cipherDecryption(str); 23 | } 24 | default -> { 25 | System.out.println("Invalid choice! Exiting.."); 26 | System.exit(0); 27 | } 28 | } 29 | } 30 | 31 | private static void textEncryption(String str) { 32 | str = str.toLowerCase(); 33 | ArrayList ch = new ArrayList(); 34 | for (char c : dict) { 35 | ch.add(c); 36 | } 37 | int length = str.length(); 38 | StringBuilder code = new StringBuilder(2*length); 39 | for (int i = 0; i < length; i++) { 40 | int n = ch.indexOf(str.charAt(i)); 41 | if (n < 10){ 42 | code.append("0").append(n); 43 | } else { 44 | code.append(n); 45 | } 46 | } 47 | System.out.println("Cipher generated : " + code); 48 | } 49 | 50 | private static void cipherDecryption(String str){ 51 | int length = str.length(); 52 | if (length % 2 == 0) { 53 | for (int i = 0; i < length; i = i + 2) { 54 | int n = Integer.parseInt(str.substring(i, i + 2)); 55 | if (n < dict.length) { 56 | if (i == 0 || n == 26) { 57 | System.out.print(String.valueOf(dict[n]).toUpperCase()); 58 | } else { 59 | System.out.print(dict[n]); 60 | } 61 | } else { 62 | System.out.println("Invalid digit code!"); 63 | } 64 | } 65 | } else { 66 | System.out.println("The number should contain even number of digits!"); 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /Part_I/NestTry.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // An example of nested try statements. 4 | class NestTry { 5 | public static void main(String[] args) { 6 | try { 7 | int a = args.length; 8 | /* If no command-line args are present, 9 | the following statement will generate 10 | a divide-by-zero exception. */ 11 | int b = 42 / a; 12 | System.out.println("a = " + a); 13 | try { // nested try block 14 | /* If one command-line arg is used, 15 | then a divide-by-zero exception 16 | will be generated by the following code. */ 17 | if(a==1) a = a/(a-a); // division by zero 18 | /* If two command-line args are used, 19 | then generate an out-of-bounds exception. */ 20 | if(a==2) { 21 | int[] c = { 1 }; 22 | c[42] = 99; // generate an out-of-bounds exception 23 | } 24 | } catch(ArrayIndexOutOfBoundsException e) { 25 | System.out.println("Array index out-of-bounds: " + e); 26 | } 27 | } catch(ArithmeticException e) { 28 | System.out.println("Divide by 0: " + e); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Part_I/NestedClasses.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class NestedClasses { 4 | int outer_x = 100; 5 | void test() { 6 | Inner inner = new Inner(); 7 | inner.display(); 8 | } 9 | // this is an inner class 10 | class Inner { // Generally non-static nested classes are defined. 11 | void display() { 12 | System.out.println("display: outer_x = " + outer_x); 13 | } 14 | } 15 | } 16 | class InnerClassDemo { 17 | public static void main(String args[]) { 18 | NestedClasses outer = new NestedClasses(); 19 | outer.test(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Part_I/Nested_Interface_Demo.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // A nested interface example. 4 | // This class contains a member interface. 5 | class A3 { 6 | // this is a nested interface 7 | public interface NestedIF { 8 | boolean isNotNegative(int x); 9 | } 10 | } 11 | // B implements the nested interface. 12 | class B3 implements A3.NestedIF { 13 | public boolean isNotNegative(int x) { 14 | return x < 0 ? false: true; 15 | } 16 | } 17 | public class Nested_Interface_Demo { 18 | public static void main(String args[]) { 19 | // use a nested interface reference 20 | A3.NestedIF nif = new B3(); 21 | if(nif.isNotNegative(10)) 22 | System.out.println("10 is not negative"); 23 | if(nif.isNotNegative(-12)) 24 | System.out.println("this won't be displayed"); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Part_I/NewThread.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class NewThread implements Runnable { 4 | Thread t; 5 | 6 | NewThread() { 7 | // create a new thread 8 | t = new Thread(this, "Saptarshi is Alive"); 9 | System.out.println("Child thread: " + t); 10 | t.start(); // Start the thread 11 | } 12 | 13 | // This is the entry point for the second thread. 14 | public void run() { 15 | try { 16 | for(int i = 5; i > 0; i--) { 17 | System.out.println("Child Thread: " + i); 18 | Thread.sleep(500); 19 | } 20 | } catch (InterruptedException e) { 21 | System.out.println("Child interrupted."); 22 | } 23 | System.out.println("Exiting child thread."); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Part_I/NewThread2.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class NewThread2 extends Thread { 4 | NewThread2() { 5 | // create a new thread 6 | super("Saptarshi is Alive"); 7 | System.out.println("Child thread: " + this); 8 | start(); // Start the thread 9 | } 10 | 11 | // This is the entry point for the second thread. 12 | public void run() { 13 | try { 14 | for(int i = 5; i > 0; i--) { 15 | System.out.println("Child Thread: " + i); 16 | Thread.sleep(500); 17 | } 18 | } catch (InterruptedException e) { 19 | System.out.println("Child interrupted."); 20 | } 21 | System.out.println("Exiting child thread."); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Part_I/NewThread3.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class NewThread3 implements Runnable { 4 | String name; // name of thread 5 | Thread t; 6 | NewThread3(String threadName) { 7 | name = threadName; 8 | t = new Thread(this, name); 9 | System.out.println("New thread: " + t); 10 | t.start(); // Start the thread 11 | } 12 | 13 | // This is the entry point for thread. 14 | public void run() { 15 | try { 16 | for(int i = 5; i > 0; i--) { 17 | System.out.println(name + ": " + i); 18 | Thread.sleep(1000); 19 | } 20 | } catch (InterruptedException e) { 21 | System.out.println(name + "Interrupted"); 22 | } 23 | System.out.println(name + " exiting."); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Part_I/NewThread4.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Using join() to wait for threads to finish. 4 | public class NewThread4 implements Runnable { 5 | String name; // name of thread 6 | Thread t; 7 | NewThread4(String threadName) { 8 | name = threadName; 9 | t = new Thread(this, name); 10 | System.out.println("New thread: " + t); 11 | t.start(); // Start the thread 12 | } 13 | // This is the entry point for thread. 14 | public void run() { 15 | try { 16 | for(int i = 5; i > 0; i--) { 17 | System.out.println(name + ": " + i); 18 | Thread.sleep(1000); 19 | } 20 | } catch (InterruptedException e) { 21 | System.out.println(name + " interrupted."); 22 | } 23 | System.out.println(name + " exiting."); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Part_I/PC.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // An incorrect implementation of a producer and consumer. 4 | class Q { 5 | int n; 6 | synchronized int get() { 7 | System.out.println("Got: " + n); 8 | return n; 9 | } 10 | synchronized void put(int n) { 11 | this.n = n; 12 | System.out.println("Put: " + n); 13 | } 14 | } 15 | class Producer implements Runnable { 16 | Q q; 17 | Producer(Q q) { 18 | this.q = q; 19 | new Thread(this, "Producer").start(); 20 | } 21 | public void run() { 22 | int i = 0; 23 | while(true) { 24 | q.put(i++); 25 | } 26 | } 27 | } 28 | class Consumer implements Runnable { 29 | Q q; 30 | Consumer(Q q) { 31 | this.q = q; 32 | new Thread(this, "Consumer").start(); 33 | } 34 | public void run() { 35 | while(true) { 36 | q.get(); 37 | } 38 | } 39 | } 40 | 41 | public class PC { 42 | public static void main(String[] args) { 43 | Q q = new Q(); 44 | new Producer(q); 45 | new Consumer(q); 46 | System.out.println("Press Control-C to stop."); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Part_I/PCFixed.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // A correct implementation of a producer and consumer. 4 | class Q1 { 5 | int n; 6 | boolean valueSet = false; 7 | synchronized int get() { 8 | while(!valueSet) 9 | try { 10 | wait(); 11 | } catch(InterruptedException e) { 12 | System.out.println("InterruptedException caught"); 13 | } 14 | System.out.println("Got: " + n); 15 | valueSet = false; 16 | notify(); 17 | return n; 18 | 19 | } 20 | synchronized void put(int n) { 21 | while(valueSet) 22 | try { 23 | wait(); 24 | } catch(InterruptedException e) { 25 | System.out.println("InterruptedException caught"); 26 | } 27 | this.n = n; 28 | valueSet = true; 29 | System.out.println("Put: " + n); 30 | notify(); 31 | } 32 | } 33 | class Producer1 implements Runnable { 34 | Q1 q; 35 | Producer1(Q1 q) { 36 | this.q = q; 37 | new Thread(this, "Producer").start(); 38 | } 39 | public void run() { 40 | int i = 0; 41 | while(true) { 42 | q.put(i++); 43 | } 44 | } 45 | } 46 | class Consumer1 implements Runnable { 47 | Q1 q; 48 | Consumer1(Q1 q) { 49 | this.q = q; 50 | new Thread(this, "Consumer").start(); 51 | } 52 | public void run() { 53 | while(true) { 54 | q.get(); 55 | } 56 | } 57 | } 58 | 59 | public class PCFixed { 60 | public static void main(String[] args) { 61 | Q1 q = new Q1(); 62 | new Producer1(q); 63 | new Consumer1(q); 64 | System.out.println("Press Control-C to stop."); 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /Part_I/Question.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | import java.util.Random; 3 | 4 | public class Question implements SharedConstants { 5 | Random rand = new Random(); 6 | int ask() { 7 | int prob = (int) (100 * rand.nextDouble()); 8 | if (prob < 30) 9 | return NO; // 30% 10 | else if (prob < 60) 11 | return YES; // 30% 12 | else if (prob < 75) 13 | return LATER; // 15% 14 | else if (prob < 98) 15 | return SOON; // 13% 16 | else 17 | return NEVER; // 2% 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Part_I/Question1.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | import java.util.Random; 4 | 5 | public class Question1 { 6 | Random rand = new Random(); 7 | Answers ask() { 8 | int prob = (int) (100 * rand.nextDouble()); 9 | if (prob < 15) { 10 | return Answers.MAYBE; // 15% 11 | } else if (prob < 30) { 12 | return Answers.NO; // 15% 13 | } else if (prob < 60) { 14 | return Answers.YES; // 30% 15 | } 16 | else if (prob < 75) { 17 | return Answers.LATER; // 15% 18 | } 19 | else if (prob < 98) { 20 | return Answers.SOON; // 13% 21 | } 22 | else { 23 | return Answers.NEVER; // 2% 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Part_I/RepeatAnno.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Demonstrate a repeated annotation. 4 | import java.lang.annotation.*; 5 | import java.lang.reflect.*; 6 | // Make MyAnno repeatable. 7 | @Retention(RetentionPolicy.RUNTIME) 8 | @Repeatable(MyRepeatedAnnos.class) 9 | @interface MyAnno3 { 10 | String str() default "Testing"; 11 | int val() default 9000; 12 | } 13 | // This is the container annotation. 14 | @Retention(RetentionPolicy.RUNTIME) 15 | @interface MyRepeatedAnnos { 16 | MyAnno3[] value(); 17 | } 18 | class RepeatAnno { 19 | // Repeat MyAnno on myMeth(). 20 | @MyAnno3(str = "First annotation", val = -1) 21 | @MyAnno3(str = "Second annotation", val = 100) 22 | public static void myMeth(String str, int i) 23 | { 24 | RepeatAnno ob = new RepeatAnno(); 25 | try { 26 | Class c = ob.getClass(); 27 | // Obtain the annotations for myMeth(). 28 | Method m = c.getMethod("myMeth", String.class, int.class); 29 | // Display the repeated MyAnno annotations. 30 | Annotation anno = m.getAnnotation(MyRepeatedAnnos.class); 31 | System.out.println(anno); 32 | } catch (NoSuchMethodException exc) { 33 | System.out.println("Method Not Found."); 34 | } 35 | } 36 | public static void main(String[] args) { 37 | myMeth("test", 10); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Part_I/SharedConstants.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public interface SharedConstants { 4 | int NO = 0; 5 | int YES = 1; 6 | int MAYBE = 2; 7 | int LATER = 3; 8 | int SOON = 4; 9 | int NEVER = 5; 10 | } -------------------------------------------------------------------------------- /Part_I/Single.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | import java.lang.annotation.*; 4 | import java.lang.reflect.*; 5 | // A single-member annotation. 6 | @Retention(RetentionPolicy.RUNTIME) 7 | @interface MySingle { 8 | int value(); // this variable name must be value 9 | } 10 | class Single { 11 | // Annotate a method using a single-member annotation. 12 | @MySingle(100) 13 | public static void myMeth() { 14 | Single ob = new Single(); 15 | try { 16 | Method m = ob.getClass().getMethod("myMeth"); 17 | MySingle anno = m.getAnnotation(MySingle.class); 18 | System.out.println(anno.value()); // displays 100 19 | } catch (NoSuchMethodException exc) { 20 | System.out.println("Method Not Found."); 21 | } 22 | } 23 | 24 | public static void main(String[] args) { 25 | myMeth(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Part_I/SuperSubCatch.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | /* This program contains an error. 4 | A subclass must come before its superclass in 5 | a series of catch statements. If not, 6 | unreachable code will be created and a 7 | compile-time error will result. 8 | */ 9 | public class SuperSubCatch { 10 | public static void main(String args[]) { 11 | try { 12 | int a = 0; 13 | int b = 42 / a; 14 | } catch(Exception e) { 15 | System.out.println("Generic Exception catch."); 16 | } 17 | /* This catch is never reached because 18 | ArithmeticException is a subclass of Exception. */ 19 | // catch(ArithmeticException e) { // ERROR – unreachable 20 | // System.out.println("This is never reached."); 21 | // } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Part_I/SuspendResume.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Suspending and resuming a thread the modern way. 4 | class NewThread5 implements Runnable { 5 | String name; // name of thread 6 | Thread t; 7 | boolean suspendFlag; 8 | NewThread5(String threadName) { 9 | name = threadName; 10 | t = new Thread(this, name); 11 | System.out.println("New thread: " + t); 12 | suspendFlag = false; 13 | t.start(); // Start the thread 14 | } 15 | // This is the entry point for thread. 16 | public void run() { 17 | try { 18 | for(int i = 15; i > 0; i--) { 19 | System.out.println(name + ": " + i); 20 | Thread.sleep(200); 21 | synchronized(this) { 22 | while(suspendFlag) { 23 | wait(); 24 | } 25 | } 26 | } 27 | } catch (InterruptedException e) { 28 | System.out.println(name + " interrupted."); 29 | } 30 | System.out.println(name + " exiting."); 31 | } 32 | synchronized void mysuspend() { 33 | suspendFlag = true; 34 | } 35 | synchronized void myresume() { 36 | suspendFlag = false; 37 | notify(); 38 | } 39 | } 40 | 41 | public class SuspendResume { 42 | public static void main(String[] args) { 43 | NewThread5 ob1 = new NewThread5("One"); 44 | NewThread5 ob2 = new NewThread5("Two"); 45 | try { 46 | Thread.sleep(1000); 47 | ob1.mysuspend(); 48 | System.out.println("Suspending thread One"); 49 | Thread.sleep(1000); 50 | ob1.myresume(); 51 | System.out.println("Resuming thread One"); 52 | ob2.mysuspend(); 53 | System.out.println("Suspending thread Two"); 54 | Thread.sleep(1000); 55 | ob2.myresume(); 56 | System.out.println("Resuming thread Two"); 57 | } catch (InterruptedException e) { 58 | System.out.println("Main thread Interrupted"); 59 | } 60 | // wait for threads to finish 61 | try { 62 | System.out.println("Waiting for threads to finish."); 63 | ob1.t.join(); 64 | ob2.t.join(); 65 | } catch (InterruptedException e) { 66 | System.out.println("Main thread Interrupted"); 67 | } 68 | System.out.println("Main thread exiting."); 69 | } 70 | } -------------------------------------------------------------------------------- /Part_I/Synch.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // This program is not synchronized. 4 | class Callme { 5 | synchronized void call(String msg) { // 'synchronized' methods allow ONLY a SINGLE thread at a time to access it. 6 | System.out.print("[" + msg); 7 | try { 8 | Thread.sleep(1000); 9 | } catch (InterruptedException e) { 10 | System.out.println("Interrupted"); 11 | } 12 | System.out.println("]"); 13 | } 14 | } 15 | 16 | class Caller implements Runnable { 17 | String msg; 18 | Callme target; 19 | Thread t; 20 | public Caller(Callme targ, String s) { 21 | target = targ; 22 | msg = s; 23 | t = new Thread(this); 24 | t.start(); 25 | } 26 | public void run() { 27 | target.call(msg); 28 | } 29 | } 30 | 31 | public class Synch { 32 | public static void main(String[] args) { 33 | Callme target = new Callme(); 34 | Caller ob1 = new Caller(target, "Hello"); 35 | Caller ob2 = new Caller(target, "Synchronized"); 36 | Caller ob3 = new Caller(target, "World"); 37 | // wait for threads to end 38 | try { 39 | ob1.t.join(); 40 | ob2.t.join(); 41 | ob3.t.join(); 42 | } catch(InterruptedException e) { 43 | System.out.println("Interrupted"); 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /Part_I/Synch1.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // This program uses a synchronized block. 4 | class Callme2 { 5 | void call(String msg) { 6 | System.out.print("[" + msg); 7 | try { 8 | Thread.sleep(1000); 9 | } catch (InterruptedException e) { 10 | System.out.println("Interrupted"); 11 | } 12 | System.out.println("]"); 13 | } 14 | } 15 | 16 | class Caller2 implements Runnable { 17 | String msg; 18 | Callme2 target; 19 | Thread t; 20 | public Caller2(Callme2 targ, String s) { 21 | target = targ; 22 | msg = s; 23 | t = new Thread(this); 24 | t.start(); 25 | } 26 | // synchronize calls to call() 27 | public void run() { 28 | synchronized(target) { // synchronized block 29 | target.call(msg); 30 | } 31 | } 32 | } 33 | 34 | public class Synch1 { 35 | public static void main(String[] args) { 36 | Callme2 target = new Callme2(); 37 | Caller2 ob1 = new Caller2(target, "Hello"); 38 | Caller2 ob2 = new Caller2(target, "Synchronized"); 39 | Caller2 ob3 = new Caller2(target, "World"); 40 | // wait for threads to end 41 | try { 42 | ob1.t.join(); 43 | ob2.t.join(); 44 | ob3.t.join(); 45 | } catch(InterruptedException e) { 46 | System.out.println("Interrupted"); 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /Part_I/TestIface.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | class TestIface { 4 | public static void main(String args[]) { 5 | Callback c = new Client(); 6 | c.callback(42); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Part_I/TestIface2.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | class TestIface2 { 4 | public static void main(String args[]) { 5 | Callback c = new Client(); 6 | AnotherClient ob = new AnotherClient(); 7 | c.callback(42); 8 | c = ob; // c now refers to AnotherClient object 9 | c.callback(42); 10 | } 11 | } -------------------------------------------------------------------------------- /Part_I/ThreadDemo.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class ThreadDemo { 4 | public static void main(String[] args) { 5 | new NewThread(); // create a new thread 6 | try { 7 | for(int i = 5; i > 0; i--) { 8 | System.out.println("Main Thread: " + i); 9 | Thread.sleep(1000); 10 | } 11 | } catch (InterruptedException e) { 12 | System.out.println("Main thread interrupted."); 13 | } 14 | System.out.println("Main thread exiting."); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Part_I/ThrowDemo.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | // Demonstrate throw. 3 | 4 | public class ThrowDemo { 5 | static void demoproc() { 6 | try { 7 | throw new NullPointerException("demo"); 8 | } catch(NullPointerException e) { 9 | System.out.println("Caught inside demoproc."); 10 | throw e; // rethrow the exception 11 | } 12 | } 13 | public static void main(String args[]) { 14 | try { 15 | demoproc(); 16 | } catch(NullPointerException e) { 17 | System.out.println("Re-caught: " + e); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Part_I/ThrowsDemo.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | // This program contains an error and will not compile. 3 | 4 | public class ThrowsDemo { 5 | static void throwOne() throws IllegalAccessException { 6 | System.out.println("Inside throwOne."); 7 | throw new IllegalAccessException("demo"); 8 | } 9 | public static void main(String[] args) { 10 | try { 11 | throwOne(); 12 | } catch (IllegalAccessException e) { 13 | System.out.println("Caught " + e); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Part_I/TinyEditor.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // A tiny editor. 4 | import java.io.*; 5 | class TinyEditor { 6 | public static void main(String[] args) throws IOException 7 | { 8 | // create a BufferedReader using System.in 9 | BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 10 | String[] str = new String[100]; 11 | System.out.println("Enter lines of text."); 12 | System.out.println("Enter 'stop' to quit."); 13 | for(int i=0; i<100; i++) { 14 | str[i] = br.readLine(); 15 | if(str[i].equals("stop")) break; 16 | } 17 | System.out.println("\nHere is your file:"); 18 | // display the lines 19 | for(int i=0; i<100; i++) { 20 | if(str[i].equals("stop")) break; 21 | System.out.println(str[i]); 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /Part_I/TypeAnnoDemo.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Demonstrate several type annotations. 4 | import java.lang.annotation.*; 5 | 6 | // A marker annotation that can be applied to a type. 7 | @Target(ElementType.TYPE_USE) 8 | @interface TypeAnno { } 9 | // Another marker annotation that can be applied to a type. 10 | @Target(ElementType.TYPE_USE) 11 | @interface NotZeroLen { 12 | } 13 | // Still another marker annotation that can be applied to a type. 14 | @Target(ElementType.TYPE_USE) 15 | @interface Unique { } 16 | // A parameterized annotation that can be applied to a type. 17 | @Target(ElementType.TYPE_USE) 18 | @interface MaxLen { 19 | int value(); 20 | } 21 | // An annotation that can be applied to a type parameter. 22 | @Target(ElementType.TYPE_PARAMETER) 23 | @interface What { 24 | String description(); 25 | } 26 | // An annotation that can be applied to a field declaration. 27 | @Target(ElementType.FIELD) 28 | @interface EmptyOK { } 29 | // An annotation that can be applied to a method declaration. 30 | @Target(ElementType.METHOD) 31 | @interface Recommended { } 32 | // Use an annotation on a type parameter. 33 | class TypeAnnoDemo<@What(description = "Generic data type") T> { 34 | // Use a type annotation on a constructor. 35 | public @Unique TypeAnnoDemo() {} 36 | // Annotate the type (in this case String), not the field. 37 | @TypeAnno String str; 38 | // This annotates the field test. 39 | @EmptyOK String test; 40 | // Use a type annotation to annotate this (the receiver). 41 | public int f(@TypeAnno TypeAnnoDemo this, int x) { 42 | return 10; 43 | } 44 | // Annotate the return type. 45 | public @TypeAnno Integer f2(int j, int k) { 46 | return j+k; 47 | } 48 | // Annotate the method declaration. 49 | public @Recommended Integer f3(String str) { 50 | return str.length() / 2; 51 | } 52 | // Use a type annotation with a throws clause. 53 | public void f4() throws @TypeAnno NullPointerException { 54 | // ... 55 | } 56 | // Annotate array levels. 57 | String @MaxLen(10) [] @NotZeroLen [] w; 58 | // Annotate the array element type. 59 | @TypeAnno Integer[] vec; 60 | public static void myMeth(int i) { 61 | // Use a type annotation on a type argument. 62 | TypeAnnoDemo<@TypeAnno Integer> ob = 63 | new TypeAnnoDemo<@TypeAnno Integer>(); 64 | // Use a type annotation with new. 65 | @Unique TypeAnnoDemo ob2 = new @Unique TypeAnnoDemo(); 66 | Object x = 10; 67 | Integer y; 68 | // Use a type annotation on a cast. 69 | y = (@TypeAnno Integer) x; 70 | } 71 | public static void main(String args[]) { 72 | myMeth(10); 73 | } 74 | // Use type annotation with inheritance clause. 75 | class SomeClass extends @TypeAnno TypeAnnoDemo {} 76 | } 77 | -------------------------------------------------------------------------------- /Part_I/UseStatic.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Demonstrate static variables, methods, and blocks. 4 | public class UseStatic { 5 | static int a = 3; 6 | static int b; 7 | static void meth(int x) { 8 | System.out.println("x = " + x); 9 | System.out.println("a = " + a); 10 | System.out.println("b = " + b); 11 | } 12 | static { // this method is called first when the class is loaded, then the main method is called ! 13 | System.out.println("Static block initialized."); 14 | b = a * 4; 15 | } 16 | public static void main(String args[]) { 17 | System.out.println("main method called"); 18 | meth(42); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Part_I/Use_Of_Finalize.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | public class Use_Of_Finalize { 4 | public static void main(String[] args) { 5 | Use_Of_Finalize use_of_finalize = new Use_Of_Finalize(); 6 | } 7 | 8 | protected void finalize(){ 9 | // actions to do before object is removed from the memory. 10 | // Overrides 'finalize' method in 'Object.java' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Part_I/VarArgs.java: -------------------------------------------------------------------------------- 1 | package Part_I; 2 | 3 | // Use varargs with standard arguments. 4 | class VarArgs { 5 | // Here, msg is a normal parameter and v is a varargs parameter. 6 | static void vaTest(String msg, int ...v) { // here, 'v' is an array of type int 7 | System.out.print(msg + v.length + 8 | " Contents: "); 9 | for(int x : v) 10 | System.out.print(x + " "); 11 | System.out.println(); 12 | } 13 | public static void main(String args[]) 14 | { 15 | vaTest("One vararg: ", 10); 16 | vaTest("Three varargs: ", 1, 2, 3); 17 | vaTest("No varargs: "); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Java - Complete Reference Repository 2 | 3 | ## This repository is based on [this Java Book](https://github.com/SaptarshiSarkar12/Java-Complete-Reference/blob/master/java%20-%20the%20complete%20reference%20book.pdf) 4 | 5 | # Progress Tracker : https://github.com/SaptarshiSarkar12/Java-Complete-Reference/issues/2 6 | -------------------------------------------------------------------------------- /java - the complete reference book.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/java - the complete reference book.pdf -------------------------------------------------------------------------------- /out/production/Java Complete Reference/.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /out/production/Java Complete Reference/.idea/Java Complete Reference.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /out/production/Java Complete Reference/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /out/production/Java Complete Reference/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /out/production/Java Complete Reference/.idea/uiDesigner.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | -------------------------------------------------------------------------------- /out/production/Java Complete Reference/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/A.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/A.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/A3$NestedIF.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/A3$NestedIF.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/A3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/A3.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/A4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/A4.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/A5.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/A5.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/AbstractDemo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/AbstractDemo.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Alpha.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Alpha.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/AnotherClient.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/AnotherClient.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Answers.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Answers.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Apple.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Apple.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Apple1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Apple1.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Apple2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Apple2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/AskMe.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/AskMe.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/AskMe1$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/AskMe1$1.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/AskMe1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/AskMe1.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/B.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/B.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/B3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/B3.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/B4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/B4.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/B5.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/B5.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/BRRead.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/BRRead.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/BRReadLines.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/BRReadLines.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Beta.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Beta.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Box.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Box.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/BoxWeight.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/BoxWeight.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Callback.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Callback.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Caller.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Caller.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Caller2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Caller2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Callme.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Callme.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Callme2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Callme2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/ChainExcDemo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/ChainExcDemo.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Client.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Client.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Consumer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Consumer.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Consumer1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Consumer1.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/CurrentThreadDemo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/CurrentThreadDemo.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Deadlock.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Deadlock.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/DefaultMethodDemo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/DefaultMethodDemo.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/DemoJoin.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/DemoJoin.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/DemoShipment.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/DemoShipment.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/DynStack.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/DynStack.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/DynamicMethodDispatch_and_MethodOverriding.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/DynamicMethodDispatch_and_MethodOverriding.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/DynamicMethodDispatch_and_MethodOverriding2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/DynamicMethodDispatch_and_MethodOverriding2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/EmptyOK.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/EmptyOK.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/EnumDemo$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/EnumDemo$1.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/EnumDemo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/EnumDemo.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/EnumDemo2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/EnumDemo2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/EnumDemo3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/EnumDemo3.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/EnumDemo4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/EnumDemo4.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Exc0.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Exc0.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Exc1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Exc1.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Exc2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Exc2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/ExceptionDemo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/ExceptionDemo.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/ExtendThread.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/ExtendThread.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Figure.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Figure.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Figure2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Figure2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/FinallyDemo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/FinallyDemo.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/FindGreatest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/FindGreatest.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/FixedStack.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/FixedStack.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/HandleError.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/HandleError.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/IFExtend.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/IFExtend.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/IFTest2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/IFTest2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/IFTest3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/IFTest3.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Incomplete.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Incomplete.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/InnerClassDemo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/InnerClassDemo.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/IntStack.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/IntStack.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/InterfaceTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/InterfaceTest.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Marker.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Marker.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MaxLen.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MaxLen.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Meta.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Meta.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Meta2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Meta2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Meta3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Meta3.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Meta4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Meta4.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MethNestTry.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MethNestTry.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MultiCatch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MultiCatch.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MultiThreadDemo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MultiThreadDemo.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MultipleCatches.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MultipleCatches.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MyAnno.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MyAnno.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MyAnno2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MyAnno2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MyAnno3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MyAnno3.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MyClass.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MyClass.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MyClass2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MyClass2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MyException.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MyException.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MyIF.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MyIF.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MyIFImp.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MyIFImp.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MyIFImp2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MyIFImp2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MyMarker.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MyMarker.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MyRepeatedAnnos.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MyRepeatedAnnos.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/MySingle.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/MySingle.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/NameCode.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/NameCode.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/NestTry.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/NestTry.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/NestedClasses$Inner.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/NestedClasses$Inner.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/NestedClasses.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/NestedClasses.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Nested_Interface_Demo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Nested_Interface_Demo.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/NewThread.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/NewThread.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/NewThread2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/NewThread2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/NewThread3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/NewThread3.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/NewThread4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/NewThread4.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/NewThread5.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/NewThread5.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/NotZeroLen.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/NotZeroLen.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/PC.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/PC.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/PCFixed.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/PCFixed.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Producer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Producer.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Producer1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Producer1.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Q.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Q.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Q1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Q1.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Question.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Question.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Question1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Question1.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Recommended.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Recommended.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Rectangle.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Rectangle.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Rectangle2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Rectangle2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/RepeatAnno.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/RepeatAnno.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/SharedConstants.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/SharedConstants.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Shipment.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Shipment.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Single.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Single.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/SuperSubCatch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/SuperSubCatch.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/SuspendResume.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/SuspendResume.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Synch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Synch.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Synch1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Synch1.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/TestIface.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/TestIface.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/TestIface2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/TestIface2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/ThreadDemo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/ThreadDemo.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/ThrowDemo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/ThrowDemo.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/ThrowsDemo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/ThrowsDemo.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/TinyEditor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/TinyEditor.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Triangle.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Triangle.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Triangle2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Triangle2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/TypeAnno.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/TypeAnno.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/TypeAnnoDemo$SomeClass.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/TypeAnnoDemo$SomeClass.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/TypeAnnoDemo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/TypeAnnoDemo.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Unique.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Unique.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/UseStatic.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/UseStatic.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/Use_Of_Finalize.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/Use_Of_Finalize.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/VarArgs.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/VarArgs.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/What.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/What.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/Part_I/What2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/Part_I/What2.class -------------------------------------------------------------------------------- /out/production/Java Complete Reference/README.md: -------------------------------------------------------------------------------- 1 | # Java - Complete Reference Repository 2 | 3 | ## This repository is based on [this Java Book](https://github.com/SaptarshiSarkar12/Java-Complete-Reference/blob/master/java%20-%20the%20complete%20reference%20book.pdf) 4 | 5 | # Progress Tracker : https://github.com/SaptarshiSarkar12/Java-Complete-Reference/issues/2 6 | -------------------------------------------------------------------------------- /out/production/Java Complete Reference/java - the complete reference book.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SaptarshiSarkar12/Java-Complete-Reference/cc5bca20571a4a3569199b046848386af9a36e34/out/production/Java Complete Reference/java - the complete reference book.pdf --------------------------------------------------------------------------------