一、类的封装
封装是将对象的属性和行为封装在单个实体中的过程。在Java中,通过使用访问修饰符(如private、protected和public)和getter和setter方法,可以实现类的封装。封装有助于隐藏对象的内部状态,只通过公共接口与外界交互,提高代码的安全性和可维护性。
实例代码:
java
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
二、类的继承
继承是从现有类派生新类的一种方式。通过继承,子类可以继承父类的属性和方法,并且可以扩展或覆盖它们。Java中的继承使用“extends”关键字表示。继承有助于代码重用,并允许创建分等级层次结构的类。
实例代码:
public class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
public void eat() {
System.out.println(name + " is eating...");
}
}
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
public void bark() {
System.out.println(name + " is barking...");
}
}
三、抽象类与接口 一个包含抽象方法的类称为抽象类,而接口是一种完全抽象的类,只包含方法的声明,没有属性和方法的具体实现。通过使用抽象类和接口,可以实现多态性,允许子类以自己的方式实现父类或接口的方法。
实例代码:
抽象类:
public abstract class AbstractShape {
public abstract double getArea();
public abstract double getPerimeter();
}
接口:
public interface Shape {
double getArea();
double getPerimeter();
}
四、类的多态
多态是指一个接口可以有多种实现方式,或者一个对象可以表现出多种形态。在Java中,多态通过继承和接口实现。通过多态,可以将父类引用指向子类对象,从而实现动态绑定和运行时类型识别(RTTI)。这有助于编写更加灵活和可扩展的代码。
实例代码:
public class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("The dog barks");
}
}
在上面的例子中,Animal是父类,Dog是子类。通过使用多态,我们可以将Dog对象作为Animal类型引用,并调用其makeSound()方法。由于Dog重写了makeSound()方法,因此实际执行的是Dog类中的实现,实现了多态性。