一、继承与重写:子类的"传承与创新"
概念:
子类继承父类非私有成员,重写父类方法时需遵循"两同两小一大",增强方法功能。
语法&代码示例:
// 父类
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正常打工");
}
}
}