Java类与对象学习笔记
在Java中,类和对象是面向对象编程的核心概念。类是对象的模板,定义了对象的属性和行为;对象是类的实例,具体化了类的属性和行为。
类的定义
类是Java中的基本组成单元,用于描述具有相似属性和行为的对象的模板。类由属性和方法组成。
public class Person {
// 属性
String name;
int age;
// 方法
void displayInfo() {
System.out.println("Name: " + name + ", Age: " + age);
}
}
对象的创建与使用
对象是类的实例化,通过关键字 new
创建。通过对象可以访问类的属性和方法。
// 创建对象
Person person1 = new Person();
// 设置属性
person1.name = "Alice";
person1.age = 30;
// 调用方法
person1.displayInfo(); // 输出:Name: Alice, Age: 30
构造方法
构造方法用于初始化对象的状态,在创建对象时自动调用。构造方法的名称与类名相同,没有返回类型。
public class Person {
String name;
int age;
// 构造方法
public Person(String n, int a) {
name = n;
age = a;
}
void displayInfo() {
System.out.println("Name: " + name + ", Age: " + age);
}
}
// 创建对象时调用构造方法
Person person2 = new Person("Bob", 25);
person2.displayInfo(); // 输出:Name: Bob, Age: 25
封装
封装是面向对象的特性之一,将类的实现细节隐藏起来,只暴露必要的接口给外部使用。通过访问修饰符来实现封装,常用的有 private
、public
、protected
。
public class BankAccount {
private double balance;
// 对外提供接口
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
}
}
public double getBalance() {
return balance;
}
}
继承
继承允许一个类继承另一个类的属性和方法,通过关键字 extends
实现。子类可以扩展或修改父类的功能,提高代码的复用性。
// 父类
class Animal {
void eat() {
System.out.println("Animal is eating.");
}
}
// 子类
class Dog extends Animal {
void bark() {
System.out.println("Dog is barking.");
}
}
多态
多态是指同一个方法在不同的对象上有不同的行为。在Java中,多态通过方法的重写(override)和接口(interface)实现。
// 父类
class Shape {
void draw() {
System.out.println("Drawing a shape.");
}
}
// 子类1
class Circle extends Shape {
void draw() {
System.out.println("Drawing a circle.");
}
}
// 子类2
class Square extends Shape {
void draw() {
System.out.println("Drawing a square.");
}
}
通过深入学习类与对象的概念,可以更好地理解和应用Java编程语言,提高代码的可维护性和扩展性。