Advise for Freshers
Java OOPs are very easy to understand and practice due to avoidance of many confusing concepts of C++.
I feel better if you follow the same order of reading, as is in the following links, to have easy go.
- A) General Programs
- OOPS concepts – introduction
- Java Naming Conventions – Readability
- Basic Class Structure, Compilation and Execution
- Using Local and Instance Variables
- Using Methods and Method Overloading
- Three Great Principles – Data Binding, Data Hiding, Encapsulation
- Using Variables from Methods
- Using this Keyword
- Unassigned Local and Instance Variables
- static Keyword – Philosophy
- Static Methods, Static Variables
- Composition – “has-a” Relationship
- Inheritance
- Types of Inheritance
- Java Extends
- Java Extend Multiple Classes
- Method Overriding
- Member Hiding – super Keyword
- Constructors and Constructor overloading
- Java Constructor Properties
- Many Meanings of final Keyword – In and Outs
- Abstract Classes
- Interfaces – Partial implementation of Multiple Inheritance
- Java Extends and Implements
- Java Reference Variables – Objects – Anonymous objects
- Access Specifiers & Access Modifiers
- Rules of Access Specifiers in Method Overriding
- Access Modifiers – Meanings
- Java Private variable accessibility (Private access specifier)
- Dynamic Polymorphism
- Avoid confusion with static vs non-static
- B) Deeper Concepts and Programs – Increases coding skills
- Abstract class constructor & Interface abstract
- Extends Implements
- Play with Implements
- Why advised Public methods and Private Variables
- Call by value and Call by reference in Java
- Java Create Object
- Instantiate in Java
- C) General Concepts – Important for Interviews
- Aggregation and Composition
- Extends vs Implements
- What is Java Constructor?
- How to use a Java Constructor?
- How to call a Constructor from another Constructor?
- Access Specifier vs Access Modifier
- Is it possible abstract method to be static also?
- Can we instantiate an abstract class?
- Can you create instance of Interface?
- Explain public static void main(String args[])?
- Can a constructor be static?
- Can a constructor be private?
- Can you overload main()
- Abstract class with main(), is it possible?
- Why Java does not support Multiple Inheritance?
- Why Java does not support operator overloading?
- Why Java does not support Pointers?
- Interfaces inheritance – extends or implements
- Why interfaces are required?
- Class vs Interface
- Abstract class vs Interface
- How many types of classes exist in Java?
- Java Classes and Interfaces
- What is a class in Java?
- Classes and Objects in Java