您的位置:首页 > 编程语言 > Java开发

Java知识(java继承)

2017-08-10 19:18 453 查看
继承

1.使用继承:

1.编写父类

class Engineer{

//公共的属性和方法

}

2.编写子类,继承父类

class SoftEngineer extends Engineer{

//子类特有的属性和方法

}

一个子类只能继承一个父类,一个父类可以有多个子类;继承的关键字是extends;父类有有参构造函数时,子类也必须有有参构造函数

2.子类访问父类成员:使用super关键字 super代表父类对象

1.访问父类属性:super.属性名;

2.访问父类方法:super.方法名();

3.方法重写:可以在子类中修改父类的方法内容;方法重写的默认行为是调用父类方法内容,如果子类没有重写方法,那么调用的就是子类的方法,如果子类重写了方法,则是调用子类的方法。如果代码中有注解@Override,说明这是一个重写的代码

父类

public class Engineer {

protected int id;

protected String name;

protected String enterTime;

public void showInof(){

System.out.println("编号"+id+"姓名:"+name+"入职时间"+enterTime);

}

public Engineer(int id, String name, String enterTime) {

super();

this.id = id;

this.name = name;

this.enterTime = enterTime;

}

}

子类

public class TestEngineer extends Engineer {

private String level;

public TestEngineer(int id, String name, String enterTime, String level) {

super(id, name, enterTime);

this.level = level;

}

/**

* 方法重写的默认行为是调用父类方法内容

* 可以在子类中修改父类的方法内容

*/

@Override //重写

public void showInof() {

// TODO Auto-generated method stub

super.showInof();

System.out.println(",等级" +level);

}

}

上面代码中子类TestEngineer重写了父类的showInof()方法,如果测试类创建子类对象,然后调用showInof方法,则调用的是子类中的showInof方法,而不是父类的showInof方法

4.继承后的初始化顺序

一个类创建对象时的初始化顺序:属性,代码块(初始化),构造

有继承关系后,先有父类,再有子类

父类属性--->父类代码块--->父类构造方法--->子类属性--->子类代码块--->子类构造方法

5.有些父类成员不能继承:

1.子类不能访问父类private成员

2.子类与父类不在同包,使用默认访问权限的成员

3.构造方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: