Mansukhdeep Thind wrote:Why not Jeff? One can always relate the English meaning to their meaning in Java.
Once we know the specifics of what they mean in Java, we can look back and see how they relate to their more general meanings. But the meanings in Java are too specialized to be intuited from the general English meanings, especially if one is new to programming.
If a newcomer sees the phrase "abstract method", it's extremely unlikely that he'll be able to gain any useful understanding of what that means in Java just based on the general English meaning of the word.
Ans: Abstraction and Polymorphic are two important principales of OOPS.
Abstraction : It means hidding the implementation details from public interface. Public interface means that eg: If your code or class is using by another programmers, you can change the implementation without braking the code of others .It provide full flexibility and maintainability to your code.
other example: you can use abstraction by making instance variable private and method public . you can altering the way of using variable without change the way of call your method by others.\\
Polymorphism: Poly+morphism means that many+form. In layman language ,one human being plays more than one role in single life like (husband,son etc).
In java all java objects are polymorphic because they pass the IS-A test for their own type and class object.
example: single java object may object, animal, fruit.
Welcome to the ranch . It is very important for you make sure that you get the concepts right from the beginning. So what I'd suggest is theory with practical. Like Manjesh suggested pick up a copy of a Head First Java Book, they have some good theory with some practical exercises for encapsulation, polymorphism, inheritance (It's interfaces and abstract classes in Java though). It will take some time, but doing those exercises would be extremely helpful and you'll a firm grasp of OOP concepts...