Java基础教程之封装与接口
封装
封装是指隐藏对象的属性和实现细节,仅对外暴露有限的接口,控制外部访问对象内部的能力。Java中,封装是通过访问控制来实现的。
访问控制符
Java中有四种访问控制符,分别是public、protected、default、private,它们的访问权限从大到小排列。
- public:不受限制,任何地方都可以访问。
- protected:同一包内和子类可以访问。
- default:同一包内可以访问。
- private:仅类内部可以访问。
示例代码
public class Person {
private String name; // 私有化属性name
private int age; // 私有化属性age
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void setName(String name) { // 提供公有set方法,用于修改name属性
this.name = name;
}
public String getName() { // 提供公有get方法,用于获取name属性
return name;
}
public void setAge(int age) { // 提供公有set方法,用于修改age属性
this.age = age;
}
public int getAge() { // 提供公有get方法,用于获取age属性
return age;
}
}
在上面的例子中,我们将Person类中的name和age属性私有化,防止外部直接访问。然后提供了公有的set和get方法让外部可以修改和获取属性值,这样就增加了对内部实现的控制,同时也方便了外部的使用。
接口
接口是一种抽象的类型,它定义了一组方法(没有实现),但是没有属性。接口可以被类实现,实现类必须实现接口中的所有方法。接口的作用是定义一种规范,不同的类可以实现相同的接口,使得它们具备了相似的行为模式。
示例代码
interface Flyable {
void fly();
}
class Plane implements Flyable {
public void fly() {
System.out.println("Plane is flying.");
}
}
class Bird implements Flyable {
public void fly() {
System.out.println("Bird is flying.");
}
}
public class Test {
public static void main(String[] args) {
Flyable flyable1 = new Plane();
Flyable flyable2 = new Bird();
flyable1.fly();
flyable2.fly();
}
}
在上面的例子中,定义了一个接口Flyable,该接口定义了一个方法fly。然后定义了两个实现类Plane和Bird,它们都实现了接口Flyable中的方法fly。最后在Test类中,我们创建了Plane和Bird的实例,并向上转型为Flyable类型,然后调用了fly方法。这样就可以实现了不同类之间相同方法的调用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java基础教程之封装与接口 - Python技术站