diff --git a/Human.java b/Human.java
new file mode 100644
index 0000000..0de3674
--- /dev/null
+++ b/Human.java
@@ -0,0 +1,20 @@
+public class Human {
+ private String fullName;
+ final String staticPrintOutput = "this function should always print this string in all subclasses";
+
+ public String getFullName() {
+ return fullName;
+ }
+
+ public void setFullName(String fullName) {
+ this.fullName = fullName;
+ }
+
+ public void sayMyName() {
+ System.out.println("im a human!");
+ }
+
+ public String staticPrint() {
+ return staticPrintOutput;
+ }
+}
diff --git a/Main.java b/Main.java
new file mode 100644
index 0000000..d2fa2bb
--- /dev/null
+++ b/Main.java
@@ -0,0 +1,21 @@
+//TIP To Run code, press or
+// click the icon in the gutter.
+public class Main {
+ public static void main(String[] args) {
+ Human student = new Student("Arian");
+ Human professor = new Professor("Ahmadi","idk");
+
+ student.sayMyName(); // Q7
+ System.out.println("-------------");
+ professor.sayMyName(); // Q8
+
+ System.out.println("-------------");
+
+ if (student instanceof Human) { //Q6
+ System.out.println("student is instance of human");
+ }
+ if (professor instanceof Human) {
+ System.out.println("professor is instance of human");
+ }
+ }
+}
\ No newline at end of file
diff --git a/Professor.java b/Professor.java
new file mode 100644
index 0000000..18adccd
--- /dev/null
+++ b/Professor.java
@@ -0,0 +1,35 @@
+public class Professor extends Human {
+ private String professorFaculty;
+ private int numberOfCourse;
+ private String professorSpecialty;
+
+ Professor(String name,String faculty) {
+ setFullName(name);
+ setProfessorFaculty(faculty);
+ }
+
+ @Override
+ public void sayMyName() {
+ System.out.println("Im "+ getFullName()+"\nand my faculty is "+ professorFaculty);
+ }
+
+ public void setProfessorFaculty(String professorFaculty) {
+ this.professorFaculty = professorFaculty;
+ }
+ public void setNumberOfCourse(int numberOfCourse) {
+ this.numberOfCourse = numberOfCourse;
+ }
+ public void setProfessorSpecialty(String professorSpecialty) {
+ this.professorSpecialty = professorSpecialty;
+ }
+
+ public String getProfessorFaculty() {
+ return professorFaculty;
+ }
+ public int getNumberOfCourse() {
+ return numberOfCourse;
+ }
+ public String getProfessorSpecialty() {
+ return professorSpecialty;
+ }
+}
diff --git a/Q9.pdf b/Q9.pdf
new file mode 100644
index 0000000..186cf5b
Binary files /dev/null and b/Q9.pdf differ
diff --git a/Student.java b/Student.java
new file mode 100644
index 0000000..d30dad8
--- /dev/null
+++ b/Student.java
@@ -0,0 +1,34 @@
+public class Student extends Human {
+ private int studentNumber;
+ private String majorName;
+ private String universityName;
+
+ Student(String name) {
+ setFullName(name);
+ }
+
+ @Override
+ public void sayMyName() {
+ System.out.println("Im "+ getFullName());
+ }
+
+ public void setStudentNumber(int studentNumber) {
+ this.studentNumber = studentNumber;
+ }
+ public void setMajorName(String majorName) {
+ this.majorName = majorName;
+ }
+ public void setUniversityName(String universityName) {
+ this.universityName = universityName;
+ }
+
+ public int getStudentNumber() {
+ return studentNumber;
+ }
+ public String getMajorName() {
+ return majorName;
+ }
+ public String getUniversityName() {
+ return universityName;
+ }
+}