Java避坑指南:3个必懂基础点,代码超直观

45 阅读1分钟

一、继承与重写:子类的"传承与创新"

概念:

子类继承父类非私有成员,重写父类方法时需遵循"两同两小一大",增强方法功能。

语法&代码示例:

// 父类
class Parent {
    public void show() {
        System.out.println("父类方法");
    }
}

// 子类继承父类
class Child extends Parent {
    // 重写父类方法
    @Override
    public void show() {
        super.show(); // 调用父类方法
        System.out.println("子类重写方法");
    }
}

public class ExtendTest {
    public static void main(String[] args) {
        Child child = new Child();
        child.show(); // 输出:父类方法  子类重写方法
    }
}

 

二、多态:一个对象的"多重身份"

概念:

父类引用指向子类对象,调用方法时执行子类重写逻辑,提升代码灵活性。

语法&代码示例:

// 父类
abstract class Shape {
    abstract void draw();
}

// 子类1
class Circle extends Shape {
    @Override
    void draw() {
        System.out.println("画圆形");
    }
}

// 子类2
class Rectangle extends Shape {
    @Override
    void draw() {
        System.out.println("画矩形");
    }
}

public class PolymorphismTest {
    public static void main(String[] args) {
        Shape shape1 = new Circle(); // 多态体现
        Shape shape2 = new Rectangle();
        shape1.draw(); // 输出:画圆形
        shape2.draw(); // 输出:画矩形
    }
}
 

三、枚举:限定取值的"常量集合"

概念:

特殊类,限定实例个数,取值固定,避免非法值,适合表示状态、类型等。

语法&代码示例:

// 定义枚举
enum Week {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

public class EnumTest {
    public static void main(String[] args) {
        Week today = Week.MONDAY;
        // 遍历枚举
        for (Week day : Week.values()) {
            System.out.print(day + " ");
        }
        // 分支判断
        switch (today) {
            case MONDAY:
                System.out.println("\n周一搬砖");
                break;
            case FRIDAY:
                System.out.println("\n周五摸鱼");
                break;
            default:
                System.out.println("\n正常打工");
        }
    }
}