External Files
Part of the Object Oriented Programming section of Coddy's Java journey — lesson 1 of 87.
In Java, each public class lives in its own .java file. The filename must match the class name exactly.
Create a separate file called MyClass.java
public class MyClass {
private String name;
public MyClass(String name) {
this.name = name;
}
public String greet() {
return "Hello, I'm " + this.name;
}
}Use the class in your main file
public class Main {
public static void main(String[] args) {
MyClass obj = new MyClass("Alice");
System.out.println(obj.greet());
}
}Output:
Hello, I'm AliceClasses in the same package (folder) can access each other directly. For classes in different packages, you use import statements.
Challenge
EasyYou are given Java files (MyClass.java and Main.java). Create a MyClass object in Main.java to use the class from the external file.
Cheat sheet
In Java, each public class must be in its own .java file with a matching filename.
Example class in MyClass.java:
public class MyClass {
private String name;
public MyClass(String name) {
this.name = name;
}
public String greet() {
return "Hello, I'm " + this.name;
}
}Using the class in Main.java:
public class Main {
public static void main(String[] args) {
MyClass obj = new MyClass("Alice");
System.out.println(obj.greet());
}
}Classes in the same package can access each other directly. For classes in different packages, use import statements.
Try it yourself
import java.util.Scanner;
// TODO: No extra import needed if files are in the same package
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String testCase = scanner.nextLine();
// TODO: Create a MyClass object
System.out.println("Test completed");
}
}This lesson includes a short quiz. Start the lesson to answer it and track your progress.
All lessons in Object Oriented Programming
1Fundamentals of OOP
External FilesIntroduction to OOPClasses vs ObjectsThe this KeywordMethodsFields (Attributes)Constructor MethodConstructor OverloadingRecap - Simple Calculator4Inheritance
Basic Inheritance (extends)The super KeywordMethod Overriding (@Override)Constructor ChainingThe Object ClassSingle & Multilevel InheritWhy No Multi Class InheritRecap - Employee Hierarchy7Special Methods & Object Class
toString() Methodequals() and hashCode()clone() MethodcompareTo() and ComparableComparator InterfaceRecap - Custom Sorting2Access Modifiers & Encapsulate
Access Levels OverviewGetter and Setter MethodsInformation HidingThe final KeywordRecap - Bank Account Manager5Polymorphism
Method Overloading BasicsMethod Overriding (Run-Time)Upcasting and DowncastingThe instanceof OperatorAbstract Classes and MethodsRecap - Shape Calculator8Advanced OOP Concepts
Composition vs InheritanceAggregation vs CompositionInner Nested & Anonymous ClassEnums and Enum MethodsRecords (Java 16+)Sealed Classes (Java 17+)3Class Props & Static Member
Instance vs Static VariablesStatic MethodsStatic BlocksConstants (static final)Recap - Counter & Utility6Interfaces & Abstract Classes
Introduction to InterfacesImplementing InterfacesMulti Interface ImplemenDefault & Static in InterfaceAbstract Classes vs InterfacesFunctional InterfacesRecap - Payment System