The Core Java part of the unified course covers the following modules:
- Java Basics
- History of programming languages.
- Differences between Binary level programming, Assembly level Programming, High Level Programming, Object oriented programming.
- Versions of Java and Features of each Version
- Advantages of Java over other languages.
- WORA (write once run anywhere anytime)
- Platform independent
- Freely downloadable software for JDK.
- Types of Memory available in computer.
- Loading and Linking concepts.
- Types of Software Architecture
- Stand Alone architecture
- Two tier architecture
- Three tier architecture
- Machine dependent and independent features.
- Working Mechanism of JDK and JVM
- Architecture of JVM
- Object Orientation
- What is object orientation?
- Advantages of object orientation
- Properties(data) and Behaviours(method) of Object
- Java as object oriented language.
- Classes and Objects
- main() method
- Calling main() method
- working of main() method
- Differences between classes and objects.
- Object creation in Java
- Working of new operator
- UML notation of class
- Naming Conventions in Java
- Naming conventions for class
- Naming conventions for variables
- Naming conventions for objects
- Naming conventions for methods
- Naming conventions for packages
- Programming examples on Naming conventions
- Data types in Java
- Different real world data types
- Different data types supported by Java
- Differences between real world types
- and Java data types
- Memory allocation for different data types in Java
- Format(Memory representation) of different types
- Differences between ASCII and Unicode format
- Object representation in memory
- Different segments on RAM and their details
- Programming examples on data types
- Working of Loops
- Types of loops
- Initialization of loops
- Condition check in loops
- Printing the loop body
- Incrementation in the loop
- Condition check in the loop
- Working of break, Working of continue
- Programming examples on Loops
- Types of Assignment
- Assignment operators
- Value type assignment
- Reference type assignment
- Programming examples on types of assignment
- Type of variables in Java
- Instance variables
- Local variables, Static variables
- Memory allocation of all these variables
- Stack and Heap concepts
- Programming examples on types of variables
- Arrays in Java
- Basics of arrays
- Creation of arrays in Java
- Types of array in Java
- Concepts of 1D, 2D, 3D and Jagged arrays in Java
- Printing the values in the array using loops.
- Programming examples on Arrays
- Strings in Java
- What is strings in Java
- Creation of strings in Java
- Different ways of creating string variables in Java
- Immutability concepts of String
- Memory allocation of Strings
- Constant pool & non constant pool concepts of Strings
- String comparison in Java and its types
- In built methods of String class given by Java
- Mutable strings in Java
- String Buffer class, String Builder class
- Differences between String builder and String buffer
- equals(), compareTo, to String() method
- Programming examples on mutable strings and immutable strings
- Methods in Java
- Types of methods
- Method accepting no input and generating no output
- Method accepting input and generating no output
- Method accepting no input and generating output
- Method accepting input and generating output
- Method overloading and its advantages
- Programming example on types of methods
- Class Members in Java
- Static, Data, Method members, Blocks
- Non static members, Data members
- Method members
- Blocks
- Need for static block, Need for non static block
- Programming examples on members of class
- Constructors in Java
- Constructor basics in Java
- Object state initialization using Constructor
- Constructor working mechanism
- onstructor overloading
- Types of constructors in Java
- Parametrized constructor
- Non parametrized constructor
- Constructor chaining in Java
- Programming examples on Constructors
- Inheritance
- Inheritance working principle in Java
- Code re usability using Inheritance
- UML notation of Inheritance
- extends keyword in Java
- Types of Inheritance
- Single Inheritance
- Multi Level Inheritance
- Hierarchical Inheritance
- Multiple Inheritance
- Diamond Inheritance
- Why Multiple and Diamond Inheritance is not supported in Java?
- Constructor chaining revisited.
- Super keyword.
- Object construction in inheritance
- Method overriding
- this keyword
- Advantages of using this keyword in Java
- Parent reference to child Object in Java
- Upcasting examples
- Down-casting examples
- Final modifier
- HAS-A relationships
- Difference between IS-A and HAS-A relationship
- Aggregation and Composition
- Difference between Aggregation and Composition
- Programming examples on IS-A and HAS-A relationship
- Abstract Classes
- Abstract keyword for class
- Difference between concrete method and abstract method
- Difference between concrete class and abstract class
- Dynamic polymorphism using abstract classes
- Programming examples on Abstract classes
- Interfaces
- What is an interface?
- Creating an interface in Java.
- UML notation for interfaces.
- Inheritance using implements keyword
- Difference between extends and implements
- Multiple inheritance using interfaces
- Marker interface in Java
- Programming examples on interfaces
- Packages
- Package definition
- Package creation
- Access Specifiers
- private, public, protected and default keywords
- Programming examples on Packages