目录
前言
继续学习Java面向对象的第二大特性——继承
提示:以下是本篇文章正文内容,下面案例可供参考
一、继承
1.继承的思想
1)基于已存在的类来构建新类。
2)当已存在的类继承时,就重用了它的方法和属性,还可以添加新的方法和属性来定制新类以应对需求。
2.继承的约定
1)从其他类中导出的类叫做子类,被导出的类叫做父类。
2)在Java中,除了object类之外,所有类都是子类,都只有唯一的父类。
3.extends关键字
用extends关键字来表示一个类继承一个类。
二、代码实现
1.代码示例
class Person{
String name;//属性
int age;
public void eat()
{
System.out.println("吃饭");
}
public void sport()
{
System.out.println("运动");
}
public void printName()
{
System.out.println("name="+name);
}
public void printAge()
{
System.out.println("age="+age);
}
}
class Student extends Person{//Student类继承于Person类
int scores;
public void printScores()
{
System.out.println("scores="+scores);
}
}
public class Test {
public static void main(String[] args) {
Student stu = new Student();//实例化对象
stu.eat();//Student类中的对象方式访问Person类的方法
stu.sport();
stu.name = "JJ";
stu.age = 18;
stu.scores = 100;
stu.printScores();
stu.printName();
stu.printAge();
}
}
三、super关键字
1.super代表的是父类对象的引用。
2.当子父类成员出现同名时,可以通过super来区分。
3.子类的构造方法中,通过super关键字调用父类的构造方法。
代码如下(示例):
class Person{ String name; int age; public Person(String name,int age){ this.name = name; this.age = age; System.out.println("父类构造方法:name="+name+",age="+age); } public Person(String name){ this.name = name; System.out.println("父类构造方法:name="+name); } } class Student extends Person{ int scores; public Student(String name,int age) { super(name,age); System.out.println("子类构造方法"); } public Student(String name) { super(name); System.out.println("子类构造方法"); } } public class Test { public static void main(String[] args) { Student stu = new Student("张三",18); Student stu1 = new Student("李四"); } }
运行结果: 父类构造方法:name=张三,age=18 子类构造方法 父类构造方法:name=李四 子类构造方法
总结
注意:当构造一个子类对象的时候一定会先调用父类的构造方法来构造父类的对象,调用父类构造方法的语句必须是子类构造方法中的第一条指令。
目录
3.子类的构造方法中,通过super关键字调用父类的构造方法。