当先锋百科网

首页 1 2 3 4 5 6 7

Java中,类与类之间可以通过继承的方式实现代码的复用,父类与子类的继承关系可以很好地将代码逻辑与数据的共性进行提取和封装,同时也可以在子类中扩展父类的功能。

//定义一个父类
public class Person{
private String name;
private int age;
public void eat(){
System.out.println("吃饭");
}
}
//定义一个子类,继承父类
public class Student extends Person{
private String school;
public void study(){
System.out.println("学习");
}
}
//在子类中可以使用父类的方法
Student s = new Student();
s.eat();

在上面的示例中,我们定义了一个Person类,包含name和age两个私有成员变量以及一个公有方法eat()。然后定义了一个Student类,使用extends关键字继承Person类,同时增加了一个school成员变量和study()方法。

在子类中我们可以使用父类的方法,例如上面代码中的s.eat()调用了父类中的eat()方法。

此外,Java中的继承还有一些限制,例如父类中的私有成员变量和方法是不能被子类直接访问的。子类也不能继承父类的构造方法,但是可以使用super关键字调用父类的构造方法来初始化父类成员变量。

//定义一个父类
public class Person{
private String name;
private int age;
public Person(String name, int age){
this.name = name;
this.age = age;
}
}
//定义一个子类,继承父类
public class Student extends Person{
private String school;
public Student(String name, int age, String school){
super(name, age);
this.school = school;
}
}

在上面的示例中,我们定义了一个带有参数的构造方法的父类Person,然后在子类Student中使用super关键字调用了这个构造方法,从而初始化了父类成员变量。

总的来说,Java中的继承关系可以很好地将代码逻辑与数据的共性进行提取和封装,同时也让类之间的关系更加清晰易懂。但是代码的复杂度也随着继承的深度而增加,因此在使用继承时需要注意代码的设计和组织。