Final Exam: Senior Developer will test your knowledge and application of the topics presented throughout the Senior Developer track of the Skillsoft Aspire Apprentice Developer to Journeyman Developer Journey.
access outer class variables from your anonymous inner class
add a teammate to collaborate with you on GitHub
apply inheritance to model real-world entities
apply method overriding and recognize the concept of hiding
apply the two ways of initializing derived classes - implement an explicit no argument constructor in the base class or use the super keyword and have only parameterized constructors in both the base and derived classes
configure your Git client with your own information
connect your local Git repository to a remote one on GitHub using SSH
construct two parallel base classes and derived classes for each of those base classes
contrast Git with other version control system and identify its main features
correctly override the .hashCode method and write the code to correctly override the .equals method, which is inherited from java.lang.Object
create a local copy of a remote GitHub repo by generating a clone
create a local Git repository and commit code to it
create and define anonymous inner class objects
create and use final classes and final methods
define and use static final member variables
describe how the .equals method and the == operator are related
describe properties of public, private, and protected access modifiers
describe run-time and compile-time polymorphism
describe the use cases and the process of branching and merging in Git
document and track issues related to your application using GitHub Issues
document information about your GitHub repo using the Wiki feature
identify advantages and applications of inheritance
identify the role of access modifiers and recognize the basics of constructors
identify the situations which can lead to a merge conflict and how these could be resolved
identify what happens when there is a base and derived class that have many different constructors
implement a derived class that can both extend a base class and implement an interface
label specific commits in your repository's history using tags
manage the tags associated with your repo by removing them from your local as well as remote repositories
merge a feature branch to the master of your local Git repo and push the changes to the remote repo
override the method .toString, which is inherited from java.lang.Object
recall the purpose of a pull request and the steps involved in creating and approving them for a Git merge operation
recognize how access works from one package into another
recognize how easy it is to add a class into an inheritance hierarchy
recognize how in single inheritance, every object of the derived class is an object of the base class, but not every object of the base class is an object of the derived class
recognize how objects of derived classes will have independent copies of member variables even from the derived class
recognize how run-time polymorphism works
recognize how static methods are bound using compile-time rather than run-time binding
recognize how the methods derived from java.lang.Object work
recognize how to extend abstract classes and the implications of doing so
recognize how when you add your own constructor, Java takes away the default no-argument constructor it had provided
recognize how you can create one base class with multiple derived classes
recognize how you can upcast multiple levels up and how downcasting is very dangerous
recognize situations where multiple inheritance is not allowed
recognize situations where multiple inheritance is not allowed
recognize that a base class's constructor is invoked when a derived class object is instantiated
recognize that compile-time polymorphism does not include type demotions
recognize the semantics of using default access modifiers inside the same package
recognize the steps required to add new files to your Git repository
remove files from your repository as well as your development workspace using Git
set up a remote Git repository on GitHub
use advanced forms of overriding
use compile-time polymorphism and method overriding
use compile-time polymorphism, including type promotions
use interfaces and recognized that all of their methods are abstract by default
use interfaces that support default method implementations
use the instanceof operator to check that an object is an instance of every class in its inheritance hierarchy
use the protected keyword across packages
use the super keyword inside any method invocation in the derived class
view statistics related to your GitHub repo using the Insights feature