diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..d343378
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,19 @@
+
+
+ 4.0.0
+
+ armstrong.alexandra
+ Reusing_Classes_Labs
+ 1.0-SNAPSHOT
+
+
+
+ junit
+ junit
+ 4.12
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/armstrong/alexandra/Reusing_Classes_1.java b/src/main/java/armstrong/alexandra/Reusing_Classes_1.java
new file mode 100644
index 0000000..693ebe5
--- /dev/null
+++ b/src/main/java/armstrong/alexandra/Reusing_Classes_1.java
@@ -0,0 +1,39 @@
+package armstrong.alexandra;
+
+import java.util.*;
+
+/**
+ * Created by alexandraarmstrong on 1/18/17.
+ */
+public class Reusing_Classes_1 extends ArrayList {
+ public static void main(String[] args){
+ int [] arr = {1, 2, 3, 4, 5, 6, 7, 8};
+ int k = 4;
+
+ for (int x : arr){
+ System.out.print(x);
+ }
+
+ count(arr, k);
+
+ for (int x : arr){
+ System.out.print(x);
+ }
+ }
+
+ public static int[] rotate(int[] arr){
+ int temp = arr[0];
+ for(int i = 0; i < arr.length - 1; i++){
+ arr[i] = arr[i + 1];
+ }
+ arr[arr.length - 1] = temp;
+ return arr;
+ }
+
+ public static int[] count(int[] arr, int k){
+ for(int i = 0; i < k; i++) {
+ rotate(arr);
+ }
+ return arr;
+ }
+}
diff --git a/src/main/java/armstrong/alexandra/Reusing_Classes_2.java b/src/main/java/armstrong/alexandra/Reusing_Classes_2.java
new file mode 100644
index 0000000..8c29f68
--- /dev/null
+++ b/src/main/java/armstrong/alexandra/Reusing_Classes_2.java
@@ -0,0 +1,135 @@
+package armstrong.alexandra;
+
+/**
+ * Created by alexandraarmstrong on 1/18/17.
+ */
+public class Reusing_Classes_2 {
+ public static void main(String[] args){
+ Human dude = new Human();
+ Human dudette = new Human();
+ SuperHuman superDude = new SuperHuman();
+ SuperHuman superDudette = new SuperHuman();
+
+ dude.setAddress("423 west west street, Boring DE 19830");
+ dudette.setGender("Male");
+
+ superDude.setGender("Male");
+ superDude.setAbility("Talking");
+
+ System.out.println(dude.address);
+ System.out.println(dudette.gender);
+ System.out.println(superDude.gender);
+ System.out.println(superDude.ability);
+
+ }
+}
+
+class Human{
+ String name;
+ int age;
+ String gender;
+ String occupation;
+ String address;
+
+ public String getName(){
+ return name;
+ }
+
+ public void setName(String name){
+ this.name = name;
+ }
+
+ public void printName(){
+ System.out.println(name);
+ }
+
+ public int getAge() {
+ return age;
+ }
+
+ public void setAge(int age) {
+ this.age = age;
+ }
+
+ public void printAge(){
+ System.out.println(age);
+ }
+
+ public String getGender() {
+ return gender;
+ }
+
+ public void setGender(String gender) {
+ this.gender = gender;
+ }
+
+ public void printGender(){
+ System.out.println(gender);
+ }
+
+ public String getOccupation() {
+ return occupation;
+ }
+
+ public void setOccupation(String occupation) {
+ this.occupation = occupation;
+ }
+
+ public void printOccupation(){
+ System.out.println(occupation);
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public void printAddress(){
+ System.out.println(address);
+ }
+}
+
+class SuperHuman extends Human{
+ boolean good;
+ String heroName;
+ String ability;
+
+ public boolean isGood() {
+ return good;
+ }
+
+ public void setGood(boolean good) {
+ this.good = good;
+ }
+
+ public void printGood(){
+ System.out.println(good);
+ }
+
+ public String getHeroName() {
+ return heroName;
+ }
+
+ public void setHeroName(String heroName) {
+ this.heroName = heroName;
+ }
+
+ public void printHeroName(){
+ System.out.println(heroName);
+ }
+
+ public String getAbility() {
+ return ability;
+ }
+
+ public void setAbility(String ability) {
+ this.ability = ability;
+ }
+
+ public void printAbility(){
+ System.out.println(ability);
+ }
+}
diff --git a/src/main/java/armstrong/alexandra/Reusing_Classes_3.java b/src/main/java/armstrong/alexandra/Reusing_Classes_3.java
new file mode 100644
index 0000000..32d2d51
--- /dev/null
+++ b/src/main/java/armstrong/alexandra/Reusing_Classes_3.java
@@ -0,0 +1,73 @@
+package armstrong.alexandra;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+/**
+ * Created by alexandraarmstrong on 1/18/17.
+ */
+public class Reusing_Classes_3 {
+ public static void main(String[] args){
+ Inventory inventory = new Inventory();
+ Product apple = new Product(0.20, "Apple", 42);
+ Product banana = new Product(0.05, "Banana", 184);
+ Product pear = new Product(0.40, "Pear", 28);
+
+ inventory.addInventory(apple.getId(), apple);
+ inventory.addInventory(banana.getId(), banana);
+ inventory.addInventory(pear.getId(), pear);
+
+ System.out.println(inventory.oneItemTotalValue("Pear"));
+
+ apple.setQuantity(18);
+
+ System.out.println(apple.getQuantity());
+
+
+ }
+}
+
+class Product{
+ double price;
+ String id;
+ int quantity;
+
+ Product(double price, String id, int quantity){
+ this.price = price;
+ this.id = id;
+ this.quantity = quantity;
+ }
+
+ public double getPrice() {
+ return price;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public int getQuantity() {
+ return quantity;
+ }
+
+ public void setQuantity(int quantity) {
+ this.quantity = quantity;
+ }
+}
+
+class Inventory{
+
+ HashMap inventory = new HashMap();
+
+ public HashMap getInventory() {
+ return inventory;
+ }
+
+ public void addInventory(String name, Product item) {
+ inventory.put(name, item);
+ }
+
+ public double oneItemTotalValue(String name){
+ return inventory.get(name).price * inventory.get(name).quantity;
+ }
+}
diff --git a/src/main/java/armstrong/alexandra/Reusing_Classes_4.java b/src/main/java/armstrong/alexandra/Reusing_Classes_4.java
new file mode 100644
index 0000000..82a4a70
--- /dev/null
+++ b/src/main/java/armstrong/alexandra/Reusing_Classes_4.java
@@ -0,0 +1,54 @@
+package armstrong.alexandra;
+
+/**
+ * Created by alexandraarmstrong on 1/18/17.
+ */
+public class Reusing_Classes_4 {
+ public static void main(String[] args){
+ CheckingAccount ca = new CheckingAccount();
+ SavingsAccount sa = new SavingsAccount();
+ BusinessAccount ba = new BusinessAccount();
+
+ ca.credit(126);
+ ca.debit(43);
+
+ ba.credit(65);
+ ba.debit(10);
+
+ sa.credit(9384);
+ sa.debit(45);
+
+ System.out.println("Business Account balance " + ba.getBalance());
+ System.out.println("Savings Account balance " + sa.getBalance());
+ System.out.println("Checking Account balance " + ca.getBalance());
+
+ }
+}
+
+abstract class BankAccount{
+ double balance;
+
+ public double getBalance() {
+ return balance;
+ }
+
+ public void debit(double amount) {
+ balance -= amount;
+ }
+
+ public void credit(double amount) {
+ balance += amount;
+ }
+}
+
+class CheckingAccount extends BankAccount{
+
+}
+
+class SavingsAccount extends BankAccount{
+
+}
+
+class BusinessAccount extends BankAccount{
+
+}
\ No newline at end of file
diff --git a/src/test/java/armstrong/alexandra/Reusing_Classes_1Test.java b/src/test/java/armstrong/alexandra/Reusing_Classes_1Test.java
new file mode 100644
index 0000000..7589191
--- /dev/null
+++ b/src/test/java/armstrong/alexandra/Reusing_Classes_1Test.java
@@ -0,0 +1,28 @@
+package armstrong.alexandra;
+
+import org.junit.Test;
+
+import static junit.framework.TestCase.assertEquals;
+import static org.junit.Assert.assertArrayEquals;
+
+/**
+ * Created by alexandraarmstrong on 1/18/17.
+ */
+public class Reusing_Classes_1Test {
+ @Test
+ public void rotateTest(){
+ int[] arr = {1, 2, 3, 4};
+ int[] expected = {2, 3, 4, 1};
+ int[] actual = Reusing_Classes_1.rotate(arr);
+ assertArrayEquals(expected, actual);
+ }
+
+ @Test
+ public void countTest(){
+ int[] arr = {1, 2, 3, 4};
+ int k = 2;
+ int[] expected = {3, 4, 1, 2};
+ int[] actual = Reusing_Classes_1.count(arr, k);
+ assertArrayEquals(expected, actual);
+ }
+}
diff --git a/src/test/java/armstrong/alexandra/Reusing_Classes_2Test.java b/src/test/java/armstrong/alexandra/Reusing_Classes_2Test.java
new file mode 100644
index 0000000..7df017e
--- /dev/null
+++ b/src/test/java/armstrong/alexandra/Reusing_Classes_2Test.java
@@ -0,0 +1,7 @@
+package armstrong.alexandra;
+
+/**
+ * Created by alexandraarmstrong on 1/18/17.
+ */
+public class Reusing_Classes_2Test {
+}
diff --git a/src/test/java/armstrong/alexandra/Reusing_Classes_3Test.java b/src/test/java/armstrong/alexandra/Reusing_Classes_3Test.java
new file mode 100644
index 0000000..c911935
--- /dev/null
+++ b/src/test/java/armstrong/alexandra/Reusing_Classes_3Test.java
@@ -0,0 +1,7 @@
+package armstrong.alexandra;
+
+/**
+ * Created by alexandraarmstrong on 1/18/17.
+ */
+public class Reusing_Classes_3Test {
+}
diff --git a/src/test/java/armstrong/alexandra/Reusing_Classes_4Test.java b/src/test/java/armstrong/alexandra/Reusing_Classes_4Test.java
new file mode 100644
index 0000000..29abc17
--- /dev/null
+++ b/src/test/java/armstrong/alexandra/Reusing_Classes_4Test.java
@@ -0,0 +1,7 @@
+package armstrong.alexandra;
+
+/**
+ * Created by alexandraarmstrong on 1/18/17.
+ */
+public class Reusing_Classes_4Test {
+}