构造,封装,继承,多态,重载,重写,接口

本文详细阐述了软件开发中的四大核心概念:封装、继承、多态和重载与重写,通过实例解释了每个概念的应用与意义,帮助开发者更好地理解和实践面向对象编程原则。
构造:用来对属性的初始化
封装:数据更安全
继承:将不同类中的相同特性提取到另一个类中,然后再去继承这个类,引用这个类中的属性和方法
多态:不同类中对同一方法做出不同的响应
重载:一般体现为方法,方法名可以一样,但返回值类型或参数要不一样
重写:体现在父类与子类之间来重写抽象方法
接口:未实现方法的抽象类,哪个类中要使有就在哪个类中实现
### 封装 封装是将对象的状态(属性)和行为(方法)捆绑在一起,并对外部隐藏对象的内部实现细节,仅对外提供公共的访问方式。通过封装,可以保护数据不被外部随意访问和修改,提高代码的安全性和可维护性。 在 Java 中,通常使用访问修饰符(如 `private`、`protected`、`public`)来实现封装。`private` 修饰的成员变量只能在类的内部访问,外部类无法直接访问,需要通过公共的 `getter` 和 `setter` 方法来间接访问和修改。 以下是一个封装的示例: ```java class Person { // 私有成员变量 private String name; private int age; // 公共的 getter 方法 public String getName() { return name; } public int getAge() { return age; } // 公共的 setter 方法 public void setName(String name) { this.name = name; } public void setAge(int age) { if (age >= 0 && age <= 120) { this.age = age; } else { System.out.println("年龄输入不合法"); } } } ``` ### 继承 继承是指一个类(子类)可以继承另一个类(父类)的属性和方法,从而实现代码的复用和扩展。子类可以拥有父类的非私有成员,并可以添加自己的属性和方法,或者重写父类的方法以实现不同的行为。 在 Java 中,使用 `extends` 关键字来实现继承。一个类只能直接继承一个父类(单继承),但可以通过多层继承继承多个父类的特性。 以下是一个继承的示例: ```java // 父类 class Animal { public void eat() { System.out.println("动物吃东西"); } } // 子类 class Dog extends Animal { public void bark() { System.out.println("狗叫"); } } ``` ### 多态 多态是指同一个方法调用可以根据对象的不同类型而表现出不同的行为。多态的实现依赖于继承和方法重写,通过父类引用指向子类对象,可以在运行时根据实际对象的类型来调用相应的方法。 多态的实现方式有两种:编译时多态(方法重载)和运行时多态(方法重写)。这里主要介绍运行时多态。 以下是一个多态的示例: ```java // 父类 class Shape { public void draw() { System.out.println("绘制图形"); } } // 子类 class Circle extends Shape { @Override public void draw() { System.out.println("绘制圆形"); } } class Rectangle extends Shape { @Override public void draw() { System.out.println("绘制矩形"); } } public class Main { public static void main(String[] args) { Shape circle = new Circle(); Shape rectangle = new Rectangle(); circle.draw(); rectangle.draw(); } } ``` ### 重载 重载是指在一个类中可以定义多个同名的方法,但这些方法的参数列表必须不同(参数的类型、个数或顺序不同)。方法重载允许在同一个类中使用相同的方法名来实现不同的功能,提高了代码的可读性和可维护性。 以下是一个方法重载的示例: ```java class Calculator { public int add(int a, int b) { return a + b; } public double add(double a, double b) { return a + b; } public int add(int a, int b, int c) { return a + b + c; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值