Introduction to OO Programming with Java is course 2 of the Core Java Specialization. After completing this course, you'll be able to create simple Java classes that exhibit the principle of Encapsulation, to import other classes for use, to work with Strings, print output and use advanced math functions.
We'll begin with a brief refresher on necessary concepts from Object-Oriented Programming. Next, we'll introduce basic Java concepts regarding classes, enabling you to start writing simple Java classes with attributes and methods. We'll introduce the idea of instances, or objects created from classes, so that you can start to build object-oriented solutions. Finally, we'll cover namespaces and Java Libraries to explain how Java packages classes, so that everyone can develop code without name collisions. You will be able to organize and access classes, as well as use selected standard classes from the Java runtime environment.
To be successful in this course, you should have taken Course 1: Introduction to Java or have equivalent knowledge.
Classes and Objects
In this module, we discuss why we are using Object-Oriented Programming, and introduce the concepts in Java of Classes, Objects, Attributes, and Methods.
Along with that, we'll discuss some of the conventions of the JavaBeans Specification, and make use of them in our code.
In this module, we'll go into more detail on creating classes in Java, and how to organize classes into packages. We'll cover attributes (instance and class variables), methods, access modifiers, parameters, variable length argument lists, local variables, constants, constructors, overloaded methods, and more.
Using Java Objects
In this relatively short module, having discussed, in more detail, creating classes, we'll briefly turn our attention back to objects. How to create them with the "new" keyword, the difference between type and class (something we'll revisit often), and (conceptually) what happens in a JVM when we create a new object.
Namespaces and Java Libraries
In this module, we'll look more closely at the use of Java packages. How we declare our package; the implications of being in a package; why packages are important; how we import classes from other packages; what import does for us; how we come up with our own, unique, package name by following the specified rules; how to resolve name collisions. Finally, we will concluding by looking at four specific Java classes: String, StringBuffer, StringBuilder and Math.