1.Concepts of Object-Oriented Programming
Object-oriented programming centers on objects, emphasizing the roles and subjects of things. It uses objects for macro-level control, while still being process-oriented at the micro level.
Object-oriented programming has the characteristics of abstraction, encapsulation, inheritance, and polymorphism.
2.Object-Oriented Programming
2.1 Definition of a Class
A class mainly consists of variables and methods.
Variable definition format:
modifier dataType variableName = [defaultValue];
Method definition format:
modifier returnType methodName(parameterList) {}
Example: Create three empty classes
public class Class1 {
}
class Class2 {
}
class Class3 {
}
2.2 Creation and Use of Objects
Syntax format for object creation:
ClassName objectName = new ClassName();
Example:
public class Student {
// Assume these member variables are defined in the Student class
int age;
String name;
// Assume these methods are defined in the Student class
public void study() {
System.out.println(name + " is studying");
}
public void eat(String food) {
System.out.println(name + " is eating " + food);
}
public static void main(String[] args) {
Student student1 = new Student(); // Create the first object
student1.age = 18;
student1.name = "Zhang San";
student1.study();
Student student2 = new Student(); // Create the second object
student2.age = 24;
student2.name = "Li Si";
student2.eat("biscuits");
}
}
Default Values of Member Variables
Data Type | Default Value | Data Type | Default Value |
---|---|---|---|
Integer types | 0 | Boolean | false |
Floating-point types | 0.0 | Reference types | null |
Character type | ‘\u0000’ |
3.Constructor Methods
3.1 What is a Constructor Method
Syntax format for calling a constructor method:
modifier ClassName(parameterTypes) {}
3.2 Use of Constructor Methods
public class Gouzao {
public static void main(String[] args) {
Student student1 = new Student(); // Create object using no-argument constructor
Student student2 = new Student("Zhang San", 23); // Create object using parameterized constructor
}
}
// Assume the Student class has these constructors
class Student {
String name;
int age;
// No-argument constructor
public Student() {}
// Parameterized constructor
public Student(String name, int age) {
this.name = name;
this.age = age;
}
}
4.this Keyword
4.1 Use of the this Keyword
public class Point {
double x;
double y;
public Point(double x, double y) {
this.x = x; // this.x refers to the member variable, x refers to the parameter
this.y = y;
}
public double calculateDistance(Point p) {
double xLen = this.x - p.x; // this.x refers to the current object's x
double yLen = this.y - p.y;
return Math.sqrt(xLen * xLen + yLen * yLen);
}
public static void main(String[] args) {
Point point1 = new Point(0, 0);
Point point2 = new Point(3, 4);
System.out.println("Distance: " + point1.calculateDistance(point2));
}
}