├── .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
--------------------------------------------------------------------------------