100% satisfaction guarantee Immediately available after payment Both online and in PDF No strings attached
logo-home
Advanced Programming FULL summary $17.71   Add to cart

Summary

Advanced Programming FULL summary

1 review
 40 views  3 purchases
  • Course
  • Institution

Hey there! Prepping for the Java exam at VU Amsterdam? I've got you covered! I've summarized everything from this year's completely overhauled course, capturing all the crucial info from the slides. Whether you're refreshing old concepts or grappling with the new stuff, this guide is your ticket t...

[Show more]

Preview 5 out of 30  pages

  • October 17, 2023
  • 30
  • 2023/2024
  • Summary

1  review

review-writer-avatar

By: tobiasvanderlei • 11 months ago

avatar-seller
Advanced Programming Summary

X 400561
Vrije Universiteit Amsterdam

2023

,Contents
1 Modifiers 4
1.1 Illustrative Example: . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Conclusion: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Interfaces 6
2.1 What is an Interface? . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Implementing an Interface . . . . . . . . . . . . . . . . . . . . 6
2.3 Benefits and Usage . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Conclusion: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Exceptions 8
3.1 What is an Exception? . . . . . . . . . . . . . . . . . . . . . . 8
3.1.1 Statement Groups and Semantics: . . . . . . . . . . . . 8
3.1.2 Example with Factorial Calculation: . . . . . . . . . . 8
3.2 Catching Exceptions: . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.1 Syntax for try-catch: . . . . . . . . . . . . . . . . . . . 9
3.3 Throwing Upwards: . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4 Developer and User Errors: . . . . . . . . . . . . . . . . . . . . 9

4 Generic Types and ArrayList 10
4.1 Generic Types: . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 ArrayList: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2.1 Key Methods: . . . . . . . . . . . . . . . . . . . . . . . 11
4.2.2 ArrayList with Primitive Types: . . . . . . . . . . . . . 11

5 Sets: 12
5.1 Definition: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.2 Key Differences from ArrayLists: . . . . . . . . . . . . . . . . 12
5.3 Set Interface Methods: . . . . . . . . . . . . . . . . . . . . . . 12
5.4 Additional Notes: . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.5 Conclusion: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

6 Linked Lists: 14
6.1 Definition: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.2 Key Points: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.3 Inner Classes: . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6.4 Additional Notes: . . . . . . . . . . . . . . . . . . . . . . . . . 14

1

,7 Maps: 16
7.1 Definition: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.2 Usage: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.3 Key Characteristics of Maps: . . . . . . . . . . . . . . . . . . . 16
7.4 Map Functionality: . . . . . . . . . . . . . . . . . . . . . . . . 16
7.5 Warnings: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

8 Inheritance: 18
8.1 Definition: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.2 Purpose: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.3 Key Concepts: . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.4 Example: Bikes . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.5 Super Keyword: . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.6 Key Takeaways: . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.7 Additional Insights: . . . . . . . . . . . . . . . . . . . . . . . . 19
8.8 Conclusion: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

9 Java Object & Cloneable 21
9.1 The Object Class: . . . . . . . . . . . . . . . . . . . . . . . . . 21
9.2 Key Insights: . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9.3 Conclusion: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

10 Enums (Enumerations) 22
10.1 Key Features of Enums: . . . . . . . . . . . . . . . . . . . . . 22
10.2 For-each Loops: . . . . . . . . . . . . . . . . . . . . . . . . . . 23

11 Multi-Threading 25
11.1 Simulation as a Use Case for Multi-Threading: . . . . . . . . . 25
11.2 Java’s Approach to Multi-Threading: . . . . . . . . . . . . . . 25
11.3 Runnable Interface: . . . . . . . . . . . . . . . . . . . . . . . . 25
11.4 Creating Multiple Threads: . . . . . . . . . . . . . . . . . . . 25
11.5 Benefits of Multi-Threading: . . . . . . . . . . . . . . . . . . . 26
11.6 Challenges: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

12 VarArgs and Command Line Arguments 27
12.1 VarArgs (Variable Arguments): . . . . . . . . . . . . . . . . . 27
12.2 Command Line Arguments: . . . . . . . . . . . . . . . . . . . 27
12.3 Command Line Arguments for Dynamic Behavior: . . . . . . . 27


2

, 12.4 Conclusion: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

13 Unit Testing 29
13.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29




3

, 1 Modifiers
In Java, modifiers are keywords added to class, method, or variable definitions
to change their meanings. They play a pivotal role in adjusting the behaviour
and visibility of various elements like fields, classes, methods, and variables.
Broadly, modifiers can be categorised into two groups:

• Access Modifiers: Such as public and private, which control the
visibility of classes, methods, and variables.

• Non-Access Modifiers: Like final and static, which provide other
functionalities.

When a variable is designated as final, it means that once a value is
assigned to it, it cannot be altered. This immutability ensures data consis-
tency and integrity. It’s essential to assign a value to a final variable either
directly or via the constructor.

1.1 Illustrative Example:
For instance, consider a class Individual where the yearOfBirth is marked
as final. Once an Individual object is created with a specific birth year, it
cannot be changed.
1 class Individual {
2 final int yearOfBirth ;
3 Individual ( int yearOfBirth ) {
4 this . yearOfBirth = yearOfBirth ;
5 }
6 }

Listing 1: Final variable example in Java
In the advanced programming landscape, terms like public, static, and
final hold special significance. Specifically:

• public ensures universal accessibility.

• static indicates the element belongs to the class rather than any in-
stance.

• final denotes immutability.


4

The benefits of buying summaries with Stuvia:

Guaranteed quality through customer reviews

Guaranteed quality through customer reviews

Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.

Quick and easy check-out

Quick and easy check-out

You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.

Focus on what matters

Focus on what matters

Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!

Frequently asked questions

What do I get when I buy this document?

You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.

Satisfaction guarantee: how does it work?

Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.

Who am I buying these notes from?

Stuvia is a marketplace, so you are not buying this document from us, but from seller cedm9. Stuvia facilitates payment to the seller.

Will I be stuck with a subscription?

No, you only buy these notes for $17.71. You're not tied to anything after your purchase.

Can Stuvia be trusted?

4.6 stars on Google & Trustpilot (+1000 reviews)

73314 documents were sold in the last 30 days

Founded in 2010, the go-to place to buy study notes for 14 years now

Start selling
$17.71  3x  sold
  • (1)
  Add to cart